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
참조
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