우분투를 사용하다가 시스템 모니터를 보게 되면, 램은 한참 남아있음에도 불구하고 스왑메모리를 사용하는 경우가 있다.
예를 들자면, 램은 겨우 35% 정도밖에 쓰이고 있지 않은데도, 스왑은 몇백메가 정도를 쓰고 있을 때가 있는데..
워낙에 설계가 그리 된 탓도 있는 모양이다.
설계가 그렇다면 이걸 설정해주는 방법도 있는 법.
위에서 설정방법을 알 수 있었다.
글 소제목중, ‘What is swappiness and how do I change it?’ 라는 항목이 있는데, 그 부분에 자세히 설명이 되어 있다.
값은 0~100 까지이고, 데스크탑일 경우 10 정도를 권장한다고 한다. 원래 설치시 기본값은 60이다.
현재 설정되어 있는 값은 다음 명령으로 확인해볼 수 있다.
cat /proc/sys/vm/swappiness cat /proc/sys/vm/vfs_cache_pressure
한번만 바꾸는 방법이 있고, 영원히(재부팅해도 지속되도록) 바꾸는 법이 있는데..
영원히 바꾸려면 다음과 같이 하면 된다.
대부분의 글들은 ‘/etc/sysctl.conf’ 에 이 사항을 저장하라고 하는데, 그보다는 /etc/sysctl.d/ 에 따로 파일(/etc/sysctl.d/번호-xxx.conf)을 만들어 저장하는 방법이 좀 더 관리에 편해 보인다.
하는 김에 cache pressure 도 같이.
vm.swappiness = 10 vm.vfs_cache_pressure=50
** Debian 문서에서는 SSD 일 경우 swapiness 값을 1로 하라고는 하는데..램 사용이 조금 늘어난 것.. 같기도 하다. ^^
** Armbian/서버의 경우 swapiness 를 아예 0 으로 주기도 한다.
또는,
$ sudo sh -c 'echo vm.swappiness=10 >> /etc/sysctl.d/60-vm-drive.conf' $ sudo sh -c 'echo vm.vfs_cache_pressure=50 >> /etc/sysctl.d/60-vm-drive.conf'