Linux監控命令之top
阿新 • • 發佈:2022-12-10
一、命令說明
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 鍵可以將當前的排序倒轉。