我的虚拟机上应该有 512MB 的内存,但是当我执行 free 命令时,我看到总内存为 495MB。
我想知道如果我的系统真的有“精确”的 512MB 物理内存,如果是免费的,我也会看到 512MB,或者如果内核占用一些内存并为自己保留它,因此看起来系统的内存更少实际记忆。
我知道如果我的内存超过 ~3.5 GB,我需要在 32 位内核上使用 PAE,但事实并非如此。
我这么问的原因是,我为这个虚拟机支付了 512MB 的费用,即使 17MB 的内存似乎不多,我也想得到我所支付的费用......(这应该不是问题即使需要重新启动,也可以将虚拟机的 RAM 增加 17mb)。
答案1
列出的总内存free
不包括硬件设备映射的内存(显卡通常为其显示缓冲区映射一个很好的块),也不包括内核本身使用的内存。
(手册页中的“内核使用的缓冲区”free
指的是包含用户数据的缓冲区,而不是内核代码或内核的内部数据。)
如果您有 512MB 的 RAM,那么看到 495MB 可用于用户数据就不足为奇了。事实上,在物理机上,我预计显卡加上内核会使用超过 17MB 的空间。您的主人正在为您提供您所支付的费用。