1.top
使用權限:所有使用者
使用方式:top [-] [d delay] [q] [c] [S] [s] [i] [n] [b]
說明:即時顯示process的動態
d :改變顯示的更新速度,或是在交談式指令列( interactive command)按s
q :沒有任何延遲的顯示速度,如果使用者是有superuser的權限,則top將會以最高的優先序執行
c :切換顯示模式,共有兩種模式,一是只顯示執行檔的名稱,另一種是顯示完整的路徑與名稱S :累積模式,會將己完成或消失的子行程( dead child process )的CPU time累積起來
s :安全模式,將交談式指令取消,避免潛在的危機
i :不顯示任何閑置(idle)或無用(zombie)的行程
n :更新的次數,完成后將會退出top
b :批次檔模式,搭配"n"參數一起使用,可以用來將top的結果輸出到檔案內
范例:
顯示更新十次后退出;
top -n 10
使用者將不能利用交談式指令來對行程下命令:
top -s
將更新顯示二次的結果輸入到名稱為top.log的檔案里:
top -n 2 -b < top.log
#top
如果不按1,在top視圖里面顯示的是所有cpu的平均值
在top基本視圖中,按鍵盤數字1,可監控每個邏輯CPU的狀況:
第一行:
— 當前系統時間
days — 系統已經運行了N天N小時N分鍾(在這期間沒有重啟過)
2 users — 當前有2個用戶登錄系統
load average: 1.17, 1.86, 1.59 — load average后面的三個數分別是1分鍾、5分鍾、15分鍾的負載情況。
load average數據是每隔5秒鍾檢查一次活躍的進程數,然后按特定算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了。
第二行:
Tasks — 任務(進程),系統現在共有164個進程,其中處於運行中的有2個,162個在休眠(sleep),stoped狀態的有0個,zombie狀態(僵屍)的有0個。
第三行:cpu狀態
us — 用戶空間占用CPU的百分比。
sy — 內核空間占用CPU的百分比。
ni — 改變過優先級的進程占用CPU的百分比
id — 空閑CPU百分比
wa — IO等待占用CPU的百分比
hi — 硬中斷(Hardware IRQ)占用CPU的百分比
si — 軟中斷(Software Interrupts)占用CPU的百分比
第四行:內存狀態
total — 物理內存總量
used — 使用中的內存總量
free — 空閑內存總量
buffers — 緩存的內存量
第五行:swap交換分區
total — 交換區總量
used — 使用的交換區總量
free — 空閑交換區總量
cached — 緩沖的交換區總量
第七行以下:各進程(任務)的狀態監控
PID — 進程id
USER — 進程所有者
PR — 進程優先級
NI — nice值。負值表示高優先級,正值表示低優先級
VIRT — 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
RES — 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA
SHR — 共享內存大小,單位kb
S — 進程狀態。D=不可中斷的睡眠狀態 R=運行 S=睡眠 T=跟蹤/停止 Z=僵屍進程
%CPU — 上次更新到現在的CPU時間占用百分比
%MEM — 進程使用的物理內存百分比
TIME+ — 進程使用的CPU時間總計,單位1/100秒
COMMAND — 進程名稱(命令名/命令行)
敲擊鍵盤“b”(打開/關閉加亮效果);
敲擊鍵盤“x”(打開/關閉排序列的加亮效果),
敲擊“f”鍵,top進入另一個視圖,在這里可以編排基本視圖中的顯示字段。
2.mpstat
要查看cpu波動情況的,尤其是多核機器上。該命令可間隔2秒鍾采樣一次CPU的使用情況,每個核的情況都會顯示出來。
#mpstat -P ALL 2 5
3.proc
#cat /proc/cpuinfo
查看內存
#cat /proc/meminfo
4.vmstat
r表示運行隊列的大小,
b表示由於IO等待而block的線程數量,
in表示中斷的數量,
cs表示上下文切換的數量,
us表示用戶CPU時間,
sys表示系統CPU時間,
wa表示由於IO等待而是CPU處於idle狀態的時間,
id表示CPU處於idle狀態的總時間。
#vmstat