미니옵빠의 code stubs
free 명령어를 통해 본 메모리 사용량 분석 본문
리눅스에서 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 가 뜨지 않음.
참고 URL:
http://forums.gentoo.org/viewtopic.php?t=175419
http://ihelpers.x2soft.co.kr/programming/tipntech.php?CMD=view&IDX=490&source=naverclick#wf