Process
Linux 高記憶體使用(頂部總不匹配)
我有一個可憐的 mans vps - 256MB 專用 RAM。我已經安裝了 LAMP。伺服器上目前還沒有網站正在執行。
記憶體使用量仍為 225MB(只有 31MB 可用)。
我已經使用 top 和另一種方法進行了測量。Top 說大約使用了 225mb,但如果我總結這些過程,它只有 20%。
我用來測量記憶體的另一個腳本:
#!/bin/bash bean=`cat /proc/user_beancounters` guar=`echo "$bean" | grep vmguar | awk '{ print $4;}'` priv=`echo "$bean" | grep privvm | awk '{ print $2;}'` let totl=guar/256 let used=priv/256 let free=$totl-$used echo "VPS Memory:" echo " total: $totl mb used: $used mb free: $free mb"
給出相同的結果(使用 225MB)。
我已重新啟動伺服器,但仍在使用 225MB 記憶體。我怎樣才能找到罪魁禍首程序。請幫忙!
============
ps efax -o command,vsize,rss,%mem,size 的輸出表明只有 20%(aournd 50MB)被程序實際使用。
(apt-get install imagemagick 由於記憶體不足而失敗。我想我需要購買更高的記憶體,例如 512 MB。我認為失敗可能是由於這種“虛假”記憶體使用造成的)。
有什麼方法可以知道記憶體是否確實可用作記憶體(頂部顯示緩衝區/記憶體為 0 - 我聽說如果 RAM 可用作記憶體,它將顯示為“緩衝區或記憶體)。
free -m 的輸出:
free -m total used free shared buffers cached Mem: 256 226 29 0 0 0 -/+ buffers/cache: 226 29 Swap: 0 0 0
它也顯示了 29 MB 的可用緩衝區/記憶體 :(
Linux 將使用盡可能多的記憶體作為記憶體,如果其他程序需要更多記憶體,則會放棄記憶體。在這裡查看更多資訊。
嘗試從以下連結中使用如何由哪個程序使用並更新回來
http://studyhat.blogspot.com/2010/09/memory-use-by-which-process-centos-rhel.html