轉自:http://blog.163.com/xychenbaihu@yeah/blog/static/1322296552012017105732762/
在top命令執行過程中可以使用的一些交互命令::
從使用角度來看,熟練的掌握這些命令比掌握選項還重要一些。這些命令都是單字母的,
top命令行參數
- -b 批處理模式(batch mode),可輸出到管道、文件。默認情況下-b會一直輸出,可以用-nN指定輸出次數。
- -n N 限制輸出次數。
- -d N 刷新時間間隔。
- -p PID 監控指定進程。
- -H -p PID 監控指定進程和進行內線程信息。
進入top界面後的操作
按鍵 | 說明 |
---|---|
c | 顯示完整的命令名。c爲Command之意。 |
d | 修改刷新時間。d爲Display之意。 |
u | 顯示指定用戶相關進程。u爲User之意。 |
P | 按CPU使用排序。P爲Processor(處理器)之意。 |
M | 按內存使用排序。M爲Momery之意。 |
F | 排序(進入新的界面,並選擇排序的目標字段)。 |
R | 順序或逆序。 |
H | 顯示線程 |
Z | 以多色彩顯示top。 |
l/t/m | toggle,load/cpu/內存信息 |
1 | 顯示多CPU的信息(多核機器上查看每個CPU的使用率)。 |
W | 保存當前top的配置 |
參考:http://www.berlinix.com/linux/top.php
1、輸入1可以看到CPU各個核的CPU負載
Cpu0 : 1.0%us, 3.0%sy, 0.0%ni, 96.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu1 : 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
這裏對us,sy,ni,id,wa,hi,si,st進行分別說明:
us 列顯示了用戶模式下所花費 CPU 時間的百分比。
us的值比較高時,說明用戶進程消耗的cpu時間多,但是如果長期大於50%,需要考慮優化用戶的程序。
sy 列顯示了內核進程所花費的cpu時間的百分比。
這裏us + sy的參考值爲80%,如果us+sy 大於 80%說明可能存在CPU不足。
ni 列顯示了用戶進程空間內改變過優先級的進程佔用CPU百分比。
id 列顯示了cpu處在空閒狀態的時間百分比。
wa 列顯示了IO等待所佔用的CPU時間的百分比。
這裏wa的參考值爲30%,如果wa超過30%,說明IO等待嚴重,這可能是磁盤大量隨機訪問造成的,也可能磁盤或者磁盤訪問控制器的帶寬瓶頸造成的(主要是塊操作)。 //這個wa和vmstat中的wa是相同含義
hi 硬件中斷佔用CPU
si 軟件中斷佔用CPU
st 丟失時間佔用CPU
在後臺服務器開發中需要關注us,sy,id,wa等常用指標。
2、top輸入u,輸入用戶名,查看指定用戶的進程信息
u 輸入用戶名 查看指定用戶的進程信息(多個用戶使用同一臺機器開發時,非常有用)
3、按CPU佔用率排序
Shift+p 按CPU排序
4、按內存佔用率排序
Shift+m 按內存使用排序
5、按CPU佔用時間排序
Shift+t 按CPU用時排序
其它:
Shift+n 按PID排序
注意:
如果在命令行選項中使用了s選項,則可能其中一些命令會被屏蔽掉。