Linux

Ubuntu 8.04 JeOS 使用大量記憶體,但沒有跡象表明正在使用它

  • November 9, 2009

所以,我有 2 個新的 Ubuntu 8.04 JeOS VM 正在執行,它們都非常輕量級,根本沒有執行太多,沒有 Apache、MySQL 等。但是它們使用 350M 的 RAM,我不能看看為什麼。

我看過 usingps -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 記憶體(儘管這在這裡不是問題,因為這是您正在談論的虛擬機,而不是主機)。有關更多詳細資訊,請參閱此問題的答案,因為我偏離了這個特定問題的重點。

引用自:https://serverfault.com/questions/82836