FreeBSD 6.2, 64bit, 메모리 8G 머신의 dmesg에서 real memory가 너무 높게 나오는 현상

|

아래는 물리적인 메모리 8G 가 꽂혀 있는 서버의 dmesg 내용중 일부이다.

...
real memory  = 10200547328 (9728 MB)
avail memory = 8261935104 (7879 MB)
...

어라라? 물리적인 메모리는 8G인데, real memory 항목이 9728 MB가 찍혀 있다. 뭐 언뜻 보더라도 8G는 훨씬 넘어 보인다.

여러 웹서핑 결과, PC의 정확한 물리적인 메모리를 검색하는 방법은 아래와 같다.

elenoa-freebsd# sysctl -a | grep hw.physmem
hw.physmem: 8572481536
elenoa-freebsd#

해당 서버에서의 실행 결과이며, 8G 가량 나오고 있다.

웹 사이트에서 찾은 dmesg의 output 결과 가운데 real memory와 avail memory에 대한 설명은 다음과 같다. (대략 댓글중에 찾은 것이기 때문에 믿어도 될지는 모르겠다. 왠만하면 참고 사이트로 붙이고 싶었는데, 대략 나를 짜증나게 하는 사이트라 패스;)

(real memory) remains after it maps out hardware buffers set by BIOS.
(avail memory) remains when some is reserved for memory manager

음.. 대략은 알겠지만 정확한 의미를 설명하기는 조금 부족한 것 같다.

중요한 것은 웹서핑 중에 찾은 많은 dmesg 정보 중에, 4G가 넘는 Memory를 가진 머신들은 모두 real memory가 avail memory보다 한참 높게 나타났다. 이유는 모르겠지만.. 정상이 아닐까 싶다;
어쨌거나 FreeBSD에서 정확한 메모리 정보를 보여주는 Perl Script를 하나 링크하겠다.

참고사이트 : freebsd memory

And