所以,我有两个新的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这在这里不是问题,因为这是你正在谈论的虚拟机,而不是主机)。 查看这个问题的答案更多的细节 ,因为我偏离了这个具体的问题。