2013-08-06 44 views
2

我檢查了我們集羣節點的內存使用情況。該top命令的快照如下:從頂部命令輸出的Mem和Swap

Mem: 24659948k total, 3113860k used, 21546088k free, 168328k buffers 
Swap: 28667984k total, 570196k used, 28097788k free, 353460k cached 

我有幾個問題是關於上面的輸出。

  1. 該節點有大量的空閒物理內存。那爲什麼會有一些交換空間被使用?
  2. 物理內存有168328k buffers。它是什麼?它是幹什麼用的?
  3. cached交換相同的問題。它是什麼?它是幹什麼用的?
  4. 上述輸出中是否存在關於集羣節點的任何性能影響?

任何幫助將不勝感激。

回答

2

使用的交換空間由您的「swappiness」系統值決定。
要找到您的當前設置,請嘗試:

cat /proc/sys/vm/swappiness

值的範圍從0到100,100是侵略性的交換,而0意味着交換僅用於當你的內存在容量。
臨時調整值,請嘗試:

echo $YOURVALUE > /proc/sys/vm/swappiness

和永久調整,添加一個sysctl的選項

echo $YOURVALUE >> /etc/sysctl.conf; sysctl -p

緩衝區和緩存是常見的打開和執行的命令。不要擔心它們被「使用」的空間,如果需要RAM,內核將自動釋放該空間。您可以使用以下命令強制清除緩存(儘管它確實不需要):

sync; echo 3 > /proc/sys/vm/drop_caches