(3) 用動態模式查看程序:
top 選項
會進入動態查看模式,顯示出系統運作的情況,而此模式中有一個表格(程序表),記載著各程序的資訊。
(3-1) 其中,常用的選項有:
※ -d N:設定每更新一次程序表的時間間隔為N秒。預設的時間間隔是5秒(也就是說每5秒更新一次程序表)。
※ -p PID:表示只查看該PID的程序。
※ -bn N:不進入動態查看模式。依照設定的時間間隔,更新程序表N次後,把每次更新過後的程序表用標準輸出來顯示在螢幕上。
(3-2) top動態查看模式的顯示結果,其格式例如:
(3-2-1) 第一行,也就是以top-開頭者,是系統狀態:
12:05:28 |
這是當前時間。 |
up 17:52 |
表示開機後到現在經過了17小時、52分鐘。 |
1 user |
表示目前系統中上線的使用者總人數為1。 |
load average :0.07, 0.03, 0.01 |
這是三組紀錄數字,原本是被記錄在/proc/loadavg檔的前三個數字,分別代表著CPU最近1分鐘之內、5分鐘之內、15分鐘之內的負載(loading),其值越高表示CPU越忙碌。其值通常均小於1。 |
(3-2-2) 第二行,也就是以Task:開頭者,是程序狀態:
112 total |
表示程序的總數目為112。 |
2 running |
正在執行的程序(狀態R),其數目為2。 |
110 sleeping |
正在睡眠的程序(狀態S),其數目為110。 |
0 stopped |
暫停執行的程序(狀態T),其數目為0。 |
0 zombie |
殭屍程序(狀態Z)的數目為0。 |
(3-2-3) 第三行,也就是以Cpu(s):開頭者,是CPU運作情況,在此不探討。
(3-2-4) 第四行,也就是以Mem:開頭者,是系統實體記憶體的資訊,在此不探討。
(3-2-5) 第五行,也就是以Swap:開頭者,是系統虛擬記憶體的資訊,在此不探討。
(3-2-6) 第六行(通常是空白行),是top動態查看模式的指令輸入列。在top動態查看模式可輸入的指令很多,常用的有:
※ <?>:跳到說明頁面,顯示在top動態查看模式可以輸入那些指令。
※ <P>:將程序表中的程序按照%CPU欄位的值,來排序。
※ <M>:將程序表中的程序按照%MEM欄位的值,來排序。
※ <N>:將程序表中的程序按照PID欄位的值,來排序。
※ <T>:將程序表中的程序按照TIME+欄位的值,來排序。
※ <R>:為某程序設定一個新的NICE值。
※ <K>:發送一個「訊號」給某程序。
※ <Q>:退出top動態查看模式。
(3-2-7) 第七行,也就是表格的欄位。各欄位說明如下:
PID |
該程序PID。 |
USER |
該程序之執行者。 |
PR |
該程序priority值,如前述。 |
NI |
該程序NICE值,如前述。 |
VIRT |
該程序所使用的虛擬記憶體大小。單位是KB。如前述。 |
RES |
該程序所使用的實體記憶體大小。單位是KB。如前述。 |
SHR |
該程序所使用的共享記憶體大小。單位是KB。 ※註:共享記憶體,指的是此記憶體大小,同時被兩個以上的程序所使用(共享)著。 |
S |
該程序之狀態,如前述。 |
%CPU |
該程序之CPU使用率,如前述。 |
%MEM |
該程序之實體記憶體使用率,如前述。 |
TIME+ |
表示CPU目前這個程序上花了多少時間。 |
COMMAND |
表示產生該程序的指令。 |
(4) 用樹狀圖來查看程序:
使用pstree -A 選項。其中,選項有:
※ -u:顯示出該程序的執行者。
※ -p:顯示出該程序的PID。
所謂樹狀圖,是用來表示程序的父子關係。在程序的樹狀圖中,左邊程序是右邊程序的父程序。
留言列表