본문 바로가기
백엔드/Linux

Linux  메모리 사용량

by david100gom 2019. 3. 11.

Linux  메모리 사용량


리눅스의 메모리를  top  또는 htop 으로 확인하다 보면, 조금 이해가 되지 않는 부분이 발생한다. 분명히 톰캣을 사용할때 자바 JVM maximum heap size 를 설정하였다면, 그이상 메모리를 사용하는것은 불가능하다. (다른 애플리케이션은 없다고 가정하자) 예를 들어 힙사이즈가 1G 이면 리눅스의 top 으로 메모리를 확인하였을때 사용량이 1기가를 넘는 경우를 여러분이 경험한 적이 있었을것입니다. 

리눅스에는 명목메모리(nominal memory) 실질 메모리(actual memory) 가 존재한다고 합니다. 리눅스는 남는 메모리를 버퍼와 캐시영역으로 잡아두게 됩니다.

위의 화면을 예를 들면

  • 전체 용량은 : 32122932kb
  • 명목 메모리 사용량 : 22146308kb, 명목 여유 메모리 : 9976624kb, 명목 사용률 : used / total = ( total - free ) / total
  • 실질 메모리 사용량 : 10462012kb, 실질 여유 메모리 : 21660920kb, 실질 사용률 : ( total - free - buffers - cached) / total

결과적으로 실제로 사용하고 있는 메모리는 약 10기가 이지만,   리눅스가 버퍼와 캐시영역으로 buffers+cached (178816+11505480) =  약 11기가를 잡아 놓았기 때문에 top 로 보면 메모리 사용량이 약 21기가(22146308kb)로 나오게 됩니다.

개발시 OperatingSystemMXBean를 사용해서 나오는 getFreePhysicalMemorySize 는 위의 명목 여유 메모리(9976624kb)에 해당한다. 

참고 URL 

https://mkil.tistory.com/402

https://zetawiki.com/wiki/%EB%A6%AC%EB%88%85%EC%8A%A4_%EB%AA%85%EB%AA%A9%EB%A9%94%EB%AA%A8%EB%A6%AC%EC%82%AC%EC%9A%A9%EB%A5%A0,_%EC%8B%A4%EC%A7%88%EB%A9%94%EB%AA%A8%EB%A6%AC%EC%82%AC%EC%9A%A9%EB%A5%A0

https://brunch.co.kr/@alden/25?fbclid=IwAR1FiDj8xJd5hlI-zIb0rQhnVCXGTtkPWLUJqbcNawd3Ye43q8wR_r1wdpU


'백엔드 > Linux' 카테고리의 다른 글

네트워크 OSI 7계층  (0) 2020.11.01
Red Hat 7.x htop 설치  (0) 2020.10.11
^M 제거  (0) 2019.09.26
리눅스 메모리 사용률 확인 / 버퍼와 캐시  (0) 2019.09.26
리눅스 서버 스펙  (0) 2015.06.23
방화벽 내리기  (0) 2013.04.09
SCP SSH 설치.  (0) 2013.04.08
su 와 su - 의 차이  (1) 2013.02.20

댓글