top是給Linux設計的。在FreeBSD VM裡面的Free概念和其他OS完全不同,使用top查看Free內存對於FreeBSD來說可以說沒什麼意義。正確的方法是看vmstat。
procs memory page disk faults cpu
r b w swap free re mf mi po fr de sr f0 s0 s1 s2 in sy cs us sy id
0 0 0 14888 19120 0 4 2 11 10 0 0 0 0 0 8 198 2158 98 11 19 69
SWAP的單位應該是K,不是M。還有兩個比較重要的參數是PI、PO,表示內存的調入、調出頁面,單位也是K,但是多大值作為一個衡量標准,我也不清楚,不知道是否有經驗值。
還有,最好使用vmstat t [n]命令,例如 vmstat 5 5,表示在T(5)秒時間內進行N(5)次采樣。如果只使用vmstat,無法反映真正的系統情況,試一下,看看結果就知道了。
procs:
r-->在運行隊列中等待的進程數
b-->在等待io的進程數
w-->可以進入運行隊列但被替換的進程
memoy
swap-->現時可用的交換內存(k表示)
free-->空閒的內存(k表示)
pages
re--》回收的頁面
mf--》非嚴重錯誤的頁面
pi--》進入頁面數(k表示)
po--》出頁面數(k表示)
fr--》空余的頁面數(k表示)
de--》提前讀入的頁面中的未命中數
sr--》通過時鐘算法掃描的頁面
disk 顯示每秒的磁盤操作。 s表示scsi盤,0表示盤號
fault 顯示每秒的中斷數
in--》設備中斷
sy--》系統中斷
cy--》cpu交換
cpu 表示cpu的使用狀態
cs--》用戶進程使用的時間
sy--》系統進程使用的時間
id--》cpu空閒的時間
解釋:
如果 r經常大於 4 ,且id經常少於40,表示cpu的負荷很重。
如果pi,po 長期不等於0,表示內存不足。
如果disk 經常不等於0, 且在 b中的隊列 大於3, 表示 io性能不好。