본문 바로가기

Linux is..../Algorithm

[RHEL] 왜 실제 물리적인 메모리양보다, OS레벨에서 적게 보일까?

환경

RedHat Enterprize Linux 5

RedHat Enterprize Linux 6

 

 

문제식별

서버 DIMM 설치된 실제 메모리에 비해 비교적 적은 총 메모리를 표시한다.

예를 들어, 12GB RAM (3 장의 x 4GB DIMM 모듈)을 사용하여 서버를 무료로 출력 단지 11.5 기가  메모리를 보여준다.



[dhkim@redhat ~]# free -b
             total       used       free     shared    buffers     cached
Mem:    12682178560 11169415168 1512763392          0  279838720 2703200256
-/+ buffers/cache: 8186376192 4495802368
Swap:   6308225024 1838784512 4469440512

 


[dhkim@redhat ~]# bc -lq
12682178560/1024^3
11.81119918823242187500

 

 

결론

커널은 메모리 테이블 시작시 일부 메모리  (의 전체 크기에 비례보유한다. 메모리 테이블에 주어진이 메모리는 아무것도로 사용할 수 없으며보고 된 총 메모리의 크기에서 차감된다.

결론적으로, 시스템은 모든 다른 메모리가 커널 자체와 내부 커널 구조 (소위 페이지 테이블주소 처리하는 메모리 공간이 필요한다. 그럼에 따라, 누락되어 보여지는 것은 Bug나 오류가 아니다.

 

The bigger physical RAM size is, the smaller is the ratio of the memory which cannot be used to the total physical RAM size :

예를 들어,

 

On 12Gb desktop this ratio is around 4.5%

On 32Gb server this ratio is around 2%

On 512Gb server this ratio is around 1.56%

 

좀더 위 사항에 대해 자세히 알고 싶으면 아래 URL을 참조하시면 되겠습니다.

 

http://linux-mm.org/WhereDidMyMemoryGo

http://linux-mm.org/