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://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 |
댓글