1. 실제 여유 메모리 측정
리눅스의 경우 사용한 메모리에 대해서 캐쉬 영역에 반환하지않고 잡아 두고있음
그래서 서버 메모리 free 사이즈가 거의 없는 경우라고 판단 할 수 있음
실제로는 여유 메모리는 buffer_cache의 free로 보면됨
$ free -m -t
total used free shared buffers cached
Mem: 16042 15218 823 0 257 4649
-/+ buffers/cache: 10312 5730
Swap: 2043 14 2029
Total: 18086 15233 2852
자세한 설명은 아래 링크 참고
- http://zetawiki.com/wiki/리눅스 명목메모리사용률, 실질메모리사용률
2. swap 사용 최소화
위에 보면 Buffer free가 있는데도 swap 발생하는 이슈가 있는 데 해당 이슈의 경우
swapoff 하던지 아니면 아래 같이 최소화 하는 방안이 있다.
#SWAP 사용량 최소화로 변경 (값범위 0 ~ 100 / 기본값 60 ) $ sysctl vm.swappiness=1 vm.swappiness = 1 #재부팅시에도 적용 $ vi /etc/sysctl.conf vm.swappiness = 1 #현재 swap 초기화 $ swapoff -a $ swapon -a #메모리 확인 $ free -m -t total used free shared buffers cached Mem: 16042 15168 874 0 258 4666 -/+ buffers/cache: 10244 5798 Swap: 2043 0 2043 Total: 18086 15168 2918
자세한 설명은 아래 링크 참고
- http://zetawiki.com/wiki/리눅스_swappiness
3. 캐쉬 메모리 해체
0: 기본
1: Page cache를 해제 한다.
2: inode, dentry cache를 해제 한다.
3: Page cache, inode cache, dentry cache를 모두 해제 한다.
# Page cache 반환 처리
$ free -m -t total used free shared buffers cached Mem: 16042 15218 823 0 257 4649 -/+ buffers/cache: 10312 5730 Swap: 2043 14 2029 Total: 18086 15233 2852$ echo 1 > /proc/sys/vm/drop_caches $ free -m -t total used free shared buffers cached Mem: 16042 10522 5519 0 2 359 -/+ buffers/cache: 10160 5881 Swap: 2043 0 2043 Total: 18086 10522 7563
자세한 설명은 아래 링크 참고
- http://tumblr.lunatine.net/post/28546340998/faq-linux-메모리-효율을-위한-vfscachepressure