![您如何知道何時需要增加伺服器記憶體?](https://rvso.com/image/658371/%E6%82%A8%E5%A6%82%E4%BD%95%E7%9F%A5%E9%81%93%E4%BD%95%E6%99%82%E9%9C%80%E8%A6%81%E5%A2%9E%E5%8A%A0%E4%BC%BA%E6%9C%8D%E5%99%A8%E8%A8%98%E6%86%B6%E9%AB%94%EF%BC%9F.png)
我有一個 VPS 為客戶運行一些網站。運行free -h
顯示如下:
~$ free -h
total used free shared buffers cached
Mem: 994M 855M 138M 39M 72M 420M
-/+ buffers/cache: 362M 631M
Swap: 511M 0B 511M
所以我有大約 138MB 的可用記憶體。我的問題是,您如何知道何時需要增加伺服器上的實體記憶體量?它什麼時候開始持續投入掉期?
在任何給定時間我都有大約 140-145MB 的空閒空間。這是否表示可用內存量與總可用內存量相當?
答案1
最值得關注的是頁面錯誤。在大多數 Linux 系統上,運行
ps -o min_flt,maj_flt
將為您提供一些累積統計數據,但即時性並不總是足夠好。在檢查系統的整體健康狀況(包括記憶體、處理器、網路等)時,SAR 可能是您最好的朋友…請務必查看 sar 的手冊頁。但要解決頁面錯誤,請執行:
sar -B
檢查主要故障欄是否有任何重大問題發生。一些主要的頁面錯誤是可以的,但是其中許多錯誤的出現通常表明您要么有一個進程不加區別地消耗內存,要么您需要增加伺服器中的物理內存量。
最後要注意的是,當執行「free」以查看記憶體量時,請確保將緩衝區/快取下列出的可用記憶體量加回顯示的總記憶體量。