reduce atop slab usages

filesystem I/O가  많은 서버일 경우 시간이 지남에 따라  memory 사용량 중 slab 사용량이 비정상적으로 많이 점유할 경우가 있다.

slab 사용은 다음 몇개의 명령으로 확인이 가능하다.

cat /proc/meminfo|grep Slab

atop

slabtop -s c

위 명령으로 slab의 메모리 점유율이 꽤나 높은 편(1G 이상, 내가 관리하는 서버들 경우는 5G 이상)이라면, 커널 캐쉬를 날려버리는 방법으로 메모리 부족현상을 해결할 수 있다.

echo 2 > /proc/sys/vm/drop_caches

관련 kernel parameter 는 다음과 같이 추가해준다.

vim /etc/sysctl.conf

vm.vfs_cache_pressure=10000
vm.overcommit_ratio=2
vm.dirty_background_ratio=5
vm.dirty_ratio=20

참조 url

http://www.backwardcompatible.net/139-Reducing-dentry-slab-usage-on-machines-with-a-lot-of-RAM

http://tumblr.lunatine.net/post/28546340998/faq-linux-%EB%A9%94%EB%AA%A8%EB%A6%AC-%ED%9A%A8%EC%9C%A8%EC%9D%84-%EC%9C%84%ED%95%9C-vfscachepressure