Ubuntu 8.04 JeOS使用大量的内存,但没有什么使用它的迹象

所以,我有两个新的Ubuntu 8.04 JeOS虚拟机在运行,它们都非常轻巧,根本没有太多的运行,没有Apache,MySQL等等。但是他们使用的是350M的RAM,我不能明白为什么。

我看了一下使用ps -auxw --sort rss但只能看到您的普通sshd,bash等进程运行,他们没有使用太多的内存

top显示空闲99.6%,所以没有CPU密集型运行。

free -mt输出:

  total used free shared buffers cached Mem: 503 350 152 0 111 174 -/+ buffers/cache: 64 438 Swap: 471 0 471 Total: 975 350 624 

(是的,它只有512MB的RAM用于testing目的。

编辑:我也有几个虚拟机运行的Ubuntu 9.04 32位服务器版,使用20-30M的RAM,几乎相同的软件包安装。

大部分使用的内存是缓冲区或caching。 实际使用(对于缓冲区/caching以外的其他内容)的数量更像64Mb,与free输出的第二行相同。

用于caching和缓冲区的内存通常可以在应用程序需要时清除和使用,但是当有空闲内存时,内核将使用它来尝试减lessI / O负载。

您可以用sync; echo 3 > /proc/sys/vm/drop_caches强制清除大部分caching和缓冲区sync; echo 3 > /proc/sys/vm/drop_caches sync; echo 3 > /proc/sys/vm/drop_caches ,然后重新运行以查看差异。

这并不像其他东西那样清楚,因为其他东西会被计入缓冲区或caching总量中,包括在某些虚拟化产品中主机上分配的tmpfs文件系统和虚拟机的内存(尽pipe这在这里不是问题,因为这是你正在谈论的虚拟机,而不是主机)。 查看这个问题的答案更多的细节 ,因为我偏离了这个具体的问题。