미니옵빠의 code stubs

free 명령어를 통해 본 메모리 사용량 분석 본문

OS/Linux

free 명령어를 통해 본 메모리 사용량 분석

미니옵빠 2014. 1. 8. 19:44

리눅스에서 free 명령으로 메모리 사용량은 다음과 같이 분석한다.


예)

             total       used       free     shared    buffers     cached

Mem:       3924568    3805036     119532          0     226064    2734964

-/+ buffers/cache:     844008    3080560

Swap:      2097144          0    2097144


* 사용자 입장에서 사용 가능한 메모리:  Free + Buffers + Cached 

즉, 위에서는 119532 + 226064 + 2734964 로 총 3080560 byte 이다.


* 귀찮게 계산하지 말고, -/+ buffers/cache 항목의 used 항목을 보면 된다.


* buffers 영역: disk 에 기록하기 전 저장해두는 메모리 영역. 실체는 아직 없음

* cached 영역: 실체는 어딘가에 있고, 빠른 엑세스를 위해 저장해두는 메모리 영역

* Swap 영역: 물리 메모리를 모두 사용했을 경우, 사용하는 디스크의 영역. Linux 설정 중 swap 디스크 용량 설정이 있음.


* WAS 에서 XmX 값을 높게 설정한 경우, 물리 메모리가 부족하여 Swap 영역을 사용하게 되고 이것도 부족해서 OS에서 process를 kill 시키는 경우가 있다. 그래서 WAS 로그에는 OOME 가 뜨지 않음.

http://stackoverflow.com/questions/17203111/tomcat-process-killed-by-linux-kernel-after-running-out-of-swap-space-dont-get 을 참고할 것



참고 URL:

http://forums.gentoo.org/viewtopic.php?t=175419

http://jmnote.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%A9%94%EB%AA%A8%EB%A6%AC_%EC%82%AC%EC%9A%A9%EB%A5%A0_(%EB%AA%85%EB%AA%A9_vs_%EC%8B%A4%EC%A7%88)#cite_note-1

http://stackoverflow.com/questions/17203111/tomcat-process-killed-by-linux-kernel-after-running-out-of-swap-space-dont-get

http://ihelpers.x2soft.co.kr/programming/tipntech.php?CMD=view&IDX=490&source=naverclick#wf

http://kldp.org/node/48613