Linux
Ubuntu 8.04 JeOS 使用大量記憶體,但沒有跡象表明正在使用它
所以,我有 2 個新的 Ubuntu 8.04 JeOS VM 正在執行,它們都非常輕量級,根本沒有執行太多,沒有 Apache、MySQL 等。但是它們使用 350M 的 RAM,我不能看看為什麼。
我看過 using
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 用於測試目的。
編輯:我還有幾個執行 Ubuntu 9.04 32 位伺服器版的虛擬機,它們使用 20-30M 的 RAM,安裝了幾乎相同的軟體包。
使用的大部分記憶體是緩衝區或高速記憶體。根據輸出的第二行,實際使用的(用於緩衝區/記憶體以外的其他事物)量更像是 64Mb
free
。用於記憶體和緩衝區的記憶體通常可以在應用程序需要時被清除和使用,但是當有空閒記憶體時,核心會使用它來嘗試減少 I/O 負載。
您可以使用 強制清除大部分記憶體和緩衝區
sync; echo 3 > /proc/sys/vm/drop_caches
,然後重新執行free
以查看差異。它並不像這個那樣明確,因為其他東西被計入緩衝區或記憶體總數,包括
tmpfs
文件系統和在某些虛擬化產品中分配在主機上的 VM 記憶體(儘管這在這裡不是問題,因為這是您正在談論的虛擬機,而不是主機)。有關更多詳細資訊,請參閱此問題的答案,因為我偏離了這個特定問題的重點。