우분투 스왑(Swap) 비율 조정(Swappiness) 및 Cache Pressure.

우분투를 사용하다가 시스템 모니터를 보게 되면, 램은 한참 남아있음에도 불구하고 스왑메모리를 사용하는 경우가 있다.

예를 들자면, 램은 겨우 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'

안녕하세요. 글 남겨주셔서 고맙습니다.