Linux監控命令之==>top
阿新 • • 發佈:2018-08-28
順序 分開 模式 排序 cache and 系統 ota task
一、命令說明
top 命令能夠實時監控系統的運行狀態,並且可以按照CPU、內存和執行時間進行排序,同時top 命令還可以通過交互式命令進行設定顯示,通過top 命令可以查看即時活躍的進行。
二、參數說明
- -b:批次模式運行。通常用作來將top 的輸出的結果傳送給其他程式或儲存成文件
- -c:顯示執行任務的命令行
- -d:設定延遲時間
- -h:幫助
- -H:顯示線程。當這個設定開啟時,將顯示所有進程產生的線程
- -i:顯示空閑的進程
- -n:執行次數。一般與-b 搭配使用
- -u:監控指定用戶相關進程
- -U:監控指定用戶相關進程
- -p:監控指定的進程。當監控多個進程時,進程ID 以逗號分隔。這個選項只能在命令行下使用
- -s:安全模式操作
- -S:累計時間模式
- -v:顯示top 版本,然後退出
- -M:自動顯示內存單位(k/M/G)
三、top交互命令
1、全局命令
- 回車、空格:刷新顯示信息
- ?或h:幫助
- =:移除所有任務顯示的限制
- A:交替顯示模式切換
- B:粗體顯示切換
- d或s:更改界面刷新時間間隔
- G:選擇其它窗口/欄位組
- I:Irix 或Solaris 模式切換
- u或U:監控指定用戶相關進程
- k:結束進程
- q:退出top
- r:重新設定進程的nice 值
- W:存儲當前設定
- Z:改變顏色模板
2、摘要區命令
- l:平均負載及系統運行時間顯示開關
- m:內存及交換空間使用率顯示開關
- t:當前任務及CPU 狀態顯示開關
- 1:匯總顯示CPU 狀態或分開顯示每個CPU 狀態
3、任務區命令
- 外觀樣式
- ? b:黑體/反色顯示高亮的行/列。控制x 和y 交互命令的顯示樣式
- x:高亮顯示排序的列
- ? y:高亮顯示正在運行的任務
- ? z:彩色/黑白顯示。
- 顯示內容
- ? c:任務執行的命令行或進程名稱
- ? f或o:增加和移除進程信息欄位及調整進程信息欄位顯示順序
- ? H:顯示線程
- ? S:時間累計模式
- ? u:監控指定用戶相關進程
- 任務顯示的數量
- ? i:顯示空閑的進程
- ? n或#:設置任務顯示最大數量
- 任務排序(shift+f)
- ? M:按內存使用率排序
- ? N:按PID 排序
- ? P:按CPU 使用率排序
- ? T:按Time+排序
- ? <:按當前排序欄位左邊相鄰欄位排序
- ? >:按當前排序欄位右邊相鄰欄位排序
- ? F或O:選擇排序欄位
- ? R:反向排序
四、參數解釋
1、第一行是任務隊列信息,同uptime 命令,其內容解釋如下:
21:59:09 | 當前時間 |
up 11:21 | 系統運行時間,格式為:時:分 |
2 users | 當前登錄用戶數 |
load average:0.05,0.01,0.01 | 系統負載,即任務隊列的平均長度,三個數值分別為:1分鐘、5分鐘、15分鐘前到現在的平均值 |
2、第二三行為進程和CPU的信息,當有多個CPU 時,這些內容可能會超過兩行,內容如下:
Task:113 total | 進程總數 |
1 running | 正在運行的進程數 |
112 sleeping | 休眠的進程數 |
0 stoped | 停止的進程數 |
0 zombie | 僵屍進程數 |
Cpu(s):0.3%us | 用戶進程消耗的CPU時間百分比 |
0.0%sy | 系統進程消耗的CPU時間百分比 |
0.0%ni | 用戶進程空間內改變過優先級的進程占CPU時間百分比 |
99.7%id | CPU空閑狀態的時間百分比 |
0.0%wa | I/O等待所占的CPU時間百分比 |
0.0%hi | CPU服務於硬中斷所耗費的時間總額 |
0.0%si | CPU服務於軟中斷所耗費的時間總額 |
0.0%st | CPU服務於軟中斷所耗費的Steal Time |
3、第四五行為內存信息
Mem:1030616K total | 物理內存總量 |
698152k used | 已使用的物理內存總量 |
332464k free | 空閑的物理內存總量 |
31392k buffers | 用做內核緩存的內存總量 |
Swap:2064376k total | 交換分區總量 |
0k used | 已使用的交換分區 |
2064376k free | 空閑的交換分區 |
117716k cached | 緩沖的交換分區總量。 |
4、進程信息
PID | 進程ID |
PPID | 父進程ID |
RUSER | Real User Name |
UID | 進程所有者的用戶ID |
USER | 進程所有者的用戶名 |
GROUP | 進程所有者的組名 |
TTY | 啟動進程的終端名,不是從終端啟動的進程則顯示為? |
PR | 優先級 |
NI | nice值,負值表示高優先級,正值表示低優先級 |
P | 最後使用的CPU,僅在多CPU環境下有意義 |
%CPU | 上次更新到現在的CPU時間占用百分比 |
TIME | 進程使用的CPU時間總計,單位秒 |
TIME+ | 進程使用的CPU時間總計,單位百分之一秒 |
%MEM | 進程使用的物理內存百分比 |
VIRT | 進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES |
SWAP | 進程使用虛擬內存中,被換出的大小,單位kb |
RES | 進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA |
CODE | 可執行代碼占用的物理內存大小,單位kb |
DATA | 可執行代碼以外的部分(數據段+棧)占用的物理內存大小 |
SHR | 共享內存大小,單位kb |
nFLT | 頁面錯誤次數 |
nFRT | 最後一次寫入到現在,被修改過的頁面數 |
S |
進程狀態: D:不可中斷的睡眠狀態 R:運行 S:睡眠 T:跟蹤/停止 Z:僵屍進程 |
COMMAND | 命令名/命令行 |
WCHAN | 若該進程在睡眠,則顯示睡眠中的系統函數名 |
Flags | 任務標誌,參考sched.h |
- 默認情況下僅顯示比較重要的列:PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND
- 可以通過下面的快捷鍵來更改顯示內容:
- 更改顯示內容通過 f 鍵可以選擇顯示的內容(按 f 鍵之後會顯示列的列表,按 a-z 即可顯示或隱藏對應的列,最後按回車鍵確定)
- 按 o 鍵可以改變列的顯示順序(按小寫的 a-z 可以將相應的列向右移動,而大寫的 A-Z 可以將相應的列向左移動,最後按回車鍵確定)
- 按大寫的 F 或 O 鍵,然後按 a-z 可以將進程按照相應的列進行排序,而大寫的 R 鍵可以將當前的排序倒轉。
Linux監控命令之==>top