SERVER/Etc2016. 11. 15. 16:32

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

 - http://zetawiki.com/wiki/리눅스_캐시_메모리_비우기

Posted by 시니^^