Linux
我可以安全地為 memcached 分配多少記憶體?
我正在研究在我們的伺服器上使用 memcached。我們剛剛升級,現在有一個相當強大的盒子:
DELL PowerEdge R710 Linux RHEL 5 - 64bit 12GB RAM
(我們曾經在一個 32 位 4GB 的盒子上)。
問題是我對 Linux 實際使用記憶體的方式以及它如何轉化為我的 munin 圖感到困惑。
所以從我的圖表來看(或者我可以在控制台中使用一個方便的命令嗎?)我可以安全地為 memcached 分配多少 RAM。即我有多少記憶體?
編輯: 圖形圖像託管已過期,因此通過圖像託管站點刪除廣告。
好吧,您幾乎一直擁有超過 8G 的免費(黃色,“未使用”)或記憶體(深藍色)。在我看來,你為 memcached 分配的上限可能是 6GB(給予或接受),這仍然會為其他程序和一些磁碟記憶體留出相當大的空間,而不會存在真正的交換風險。也有人會爭辯說你可以分配更多。這是一個品味問題,真正的性能優勢將取決於您的具體應用。
請記住,如果您告訴 memcached 最多使用 6GB 記憶體,除非您在其中儲存 6G,否則它不會使用那麼多。如果你只儲存 1GB,它只會消耗 1GB,即使限制是 6GB。我建議您將 memcached 添加到您的監控中,並密切關注 memcached 的
bytes
統計數據並相應地限制記憶體使用量,以確保在使用者意外激增時系統不會做任何意外。在 shell 中,您可以使用
free
它來確定記憶體使用情況,它會顯示如下資訊:total used free shared buffers cached Mem: 4060096 3775976 284120 0 270828 1899720 -/+ buffers/cache: 1605428 2454668 Swap: 577528 0 577528
Free 是未使用的記憶體,cached 是磁碟記憶體。隨著時間的推移,空閒記憶體將被用作磁碟記憶體,因此將用作記憶體的記憶體視為空閒記憶體是非常安全的,即使它目前正在用於一些有用的事情。