Memory-Usage
為什麼空閒伺服器上的 RAM 使用率如此之高?
我正在研究用於科學數據分析的伺服器。它執行 RHEL 6.4 它有將近 200GB 的 RAM。對於通過 SSH 的使用者來說,它的執行速度非常慢,經過一番摸索後,我很快注意到 RAM 的使用率非常高。奇怪的是,即使處於空閒狀態,它仍在使用大量 RAM:
我還查看了通過
htop
,我看不到任何正在執行的程序正在使用超過 0.1% 的 RAM。所以我想知道發生了什麼事?現在唯一執行的使用者啟動程序是兩個 NFS 掛載共享之間的 rsync。我嘗試重新啟動伺服器,幾分鐘後它的響應速度更快,但隨後記憶體使用量再次飆升。
有什麼辦法可以查明為什麼記憶體使用率如此之高?
它很高,因為這樣可以節省精力。釋放記憶體需要付出努力。如果你這樣做,只需努力讓它再次使用。因此,為了省力,現代作業系統只有在別無選擇的情況下才會釋放記憶體。
如果您在想“我現在想要釋放記憶體,以便以後可以使用它”,請從您的腦海中消除這種想法。記憶體不必現在是空閒的,以後可以使用它。它可以現在使用,也可以以後使用。所以這裡沒有痛苦的權衡。使用記憶體是一個純粹的勝利。
無論您的問題是什麼,都不是高記憶體使用率。這是系統正常執行的標誌。