top是一個動態顯示過程,即可以通過用戶按鍵來不斷刷新當前狀態。如果在前台執行該命令,它將獨占前台顯示CPU、內存使用和執行時間,直到按ctrl+C終止該程序為止。
top命令是Linux下常用的性能分析工具,能夠實時顯示系統中各個進程的資源占用狀況,類似於Windows的任務管理器。
常用選項
-b:以批處理模式操作;
-c:顯示完整的治命令;
-d:屏幕刷新間隔時間;
-I:忽略失效過程;
-s:保密模式;
-S:累積模式;
-i<時間>:設置間隔時間;
-u<用戶名>:指定用戶名;
-p<進程號>:指定進程;
-n<次數>:循環顯示的次數
top命令輸出各參數介紹
系統運行時間和平均負載
任務
第二行顯示的是任務或者進程的總結。進程可以處於不同的狀態。這裡顯示了全部進程的數量。除此之外,還有正在運行、睡眠、停止、僵屍進程的數量(僵屍是一種進程的狀態)。這些進程概括信息可以用't'切換顯示。
CPU 狀態
us, user: 運行(未調整優先級的) 用戶進程的CPU時間
sy,system: 運行內核進程的CPU時間
ni,niced:運行已調整優先級的用戶進程的CPU時間
wa,IO wait: 用於等待IO完成的CPU時間
hi:處理硬件中斷的CPU時間
si: 處理軟件中斷的CPU時間
st:這個虛擬機被hypervisor偷去的CPU時間(譯注:如果當前處於一個hypervisor下的vm,實際上hypervisor也是要消耗一部分CPU處理時間的)。
內存使用狀況
接下來兩行顯示內存使用率,有點像'free'命令。第一行是物理內存使用,第二行是虛擬內存使用(交換空間)。 物理內存顯示如下:全部可用內存、已使用內存、空閒內存、緩沖內存。相似地:交換部分顯示的是:全部、已使用、空閒和緩沖交換空間。內存顯示可以用'm'命令切換。
字段列
PID : 進程ID,進程的唯一標識符
USER : 進程所有者的實際用戶名。
PR : 進程的調度優先級。這個字段的一些值是'rt'。這意味這這些進程運行在實時態。
NI : 進程的nice值(優先級)。越小的值意味著越高的優先級。
VIRT :進程使用的虛擬內存。
RES : 駐留內存大小。駐留內存是任務使用的非交換物理內存大小。
SHR : SHR是進程使用的共享內存。
S : 這個是進程的狀態。它有以下不同的值:
D - 不可中斷的睡眠態。
R – 運行態
S – 睡眠態
T – 被跟蹤或已停止
Z – 僵屍態
%CPU : 自從上一次更新時到現在任務所使用的CPU時間百分比。
%MEM: 進程使用的可用物理內存百分比。
TIME+ : 任務啟動後到現在所使用的全部CPU時間,精確到百分之一秒。
COMMAND : 運行進程所使用的命令。