free 명령은 모든 물리적 메모리를 표시합니까, 아니면 일부 RAM을 예약하고 숨깁니까?

free 명령은 모든 물리적 메모리를 표시합니까, 아니면 일부 RAM을 예약하고 숨깁니까?

내 가상 머신에는 512MB의 메모리가 있어야 하는데, free 명령을 실행하면 총 메모리가 495MB인 것을 볼 수 있습니다.

내 시스템에 실제로 "정확히" 512MB의 물리적 메모리가 있는지, 비어 있으면 512MB도 볼 수 있는지, 또는 커널이 일부 메모리를 사용하여 자체적으로 예약하여 시스템의 실제 메모리가 더 적은 것처럼 보이는지 알고 싶습니다. .

3.5GB 이상의 RAM이 있으면 32비트 커널에서 PAE를 사용해야 한다는 것을 알고 있지만 그렇지 않습니다.

물어보는 이유는 이 VM 512MB를 구매했는데, RAM 17MB도 얼마 안 되는 것 같아도 제 값 주고 싶은데... (이건 재부팅해도 문제 없을 것 같아요. 필요합니다. 가상 머신의 RAM을 17MB까지 늘릴 수도 있습니다.

답변1

나열된 총 메모리에는 free하드웨어 장치에 의해 매핑된 메모리(그래픽 카드는 일반적으로 디스플레이 버퍼에 대한 좋은 청크를 매핑함)가 포함되지 않으며 커널 자체에서 사용되는 메모리도 포함되지 않습니다.

(맨 페이지의 "커널에서 사용하는 버퍼"는 free커널 코드나 커널 내부 데이터가 아닌 사용자 데이터가 포함된 버퍼를 나타냅니다.)

RAM이 512MB라면 사용자 데이터에 495MB를 사용할 수 있다는 것은 놀라운 일이 아닙니다. 실제로 물리적 컴퓨터에서는 그래픽 카드와 커널이 17MB 이상을 사용할 것으로 예상됩니다. 귀하의 호스트는 귀하가 지불하는 금액을 제공하고 있습니다.

관련 정보