top命令是linux下產用的效能分析工具,能夠即時顯示系統中各個進程的資源佔用狀況,同windows中的工作管理員。下面介紹下它的使用方法:
[root@test etc]# top
top - 16:20:18 up 243 days, 19:58, 2 users, load average: 3.09, 2.15, 1.23
Tasks: 328 total, 1 running, 326 sleeping, 0 stopped, 1 zombie
Cpu(s): 0.5% us, 2.4% sy, 0.0% ni, 85.0% id, 12.1% wa, 0.0% hi, 0.0% si
Mem: 8173716k total, 8132856k used, 40860k free, 111376k buffers
Swap: 8385920k total, 366748k used, 8019172k free, 6481144k cached
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 16 0 4772 436 404 S 0.0 0.0 1:21.48 init
一、統計資訊區
前五行是系統整體的統計資訊
(1)、第一行是任務列隊資訊,類似於uptime命令的執行結果
[root@test etc]# uptime
16:20:18 up 243 days, 19:58, 2 users, load average: 3.09, 2.15, 1.23
介紹如下:
16:20:18 ,目前時間
up 243 days,19:58 ,系統啟動並執行天數和系統已耗用時間,格式為時:分
2 users,當前登入使用者數
load average 3.09, 2.15, 1.23 ,系統負載,即任務隊列平均長度。(3.09, 2.15, 1.23 )這三個數值分別為1分鐘、5分鐘、15分鐘前到現在的平均值。
(2)、第二、三行為進程和cpu資訊,如果有多個cpu時,這些內容可能會超過兩行。
介紹如下:
Tasks: 328 total,進程總數
1 running,正在啟動並執行進程數
326 sleeping,睡眠的進程
0 stopped,停止的進程數
1 zombie ,殭屍進程數
------------------------
Cpu(s): 0.5% us,使用者空間佔用cpu百分比
2.4% sy,核心空間佔用cpu百分比
0.0% ni,使用者進程空間內改變過優先順序的進程佔用cpu百分比
85.0% id,空閑cpu百分比
12.1% wa,等待輸入輸出的cpu時間百分比
0.0% hi
0.0% si
(3)、最後兩行為記憶體資訊
內容如下:
Mem: 8173716k total,實體記憶體總量
8132856k used,使用的實體記憶體總量
40860k free,空閑記憶體總量
111376k buffers,用作核心緩衝的記憶體量
----------------------
Swap: 8385920k total,交換區總量
366748k used,使用的交換區總量
8019172k free,空閑交換區總量
6481144k cached,緩衝的交換區總量
記憶體和交換區的關係:
記憶體中的內容被換出倒交換區,而後又被換入到記憶體,但使用過的交換區尚未被覆蓋,
該數值即為這些記憶體已存在於記憶體中的交換區的大小。
相應的記憶體再次被換出時可不必再對交換區寫入
二、進程資訊區
PID,進程ID
USER,進程所有者的使用者名稱
PR,優先順序
NI,nice值/負值表示高優先順序,正值表示低優先順序
VIRT,進程使用的虛擬記憶體總量,單位kb。VIRT=SWAP+RES
RES,進程使用的、未被換出的實體記憶體大小,單位kb。RES=CODE+DATA
SHR,共用記憶體大小,單位kb
S ,進程狀態(D=不可中斷的睡眠狀態;R=運行;S=睡眠;T=跟蹤/停止;Z=殭屍進程)
%CPU,上次更新到現在的CPU時間佔用百分比
%MEM,進程使用的實體記憶體百分比
TIME+,進程使用的CPU時間總計,單位1/100秒
COMMAND,命令名/命令列
預設情況下只顯示比較重要的PID,USER,PR,NI,VIRT,RES,SHR,S,%CPU,%MEM,TIME+,COMMAND列。
可以通過下面的快速鍵來個更改顯示內容:
1.按f鍵可以選擇顯示的內容。按f鍵之後會顯示列的列表,按a-z即可顯示或隱藏對應的列,最後按斷行符號鍵確定。
2.按o鍵可以改變顯示的順序,按小寫a-z可以將相應的列向右移動,而大寫的A-Z可以將相應的列向左移動。最後按斷行符號鍵確定。
3.按大寫的F或O鍵,然後將a-z可以將進程按照相應的列進行排序。而大寫的R鍵可以將當前的排序倒轉。
三、命令使用
(1).命令名稱:top
(2).命令作用
顯示系統當前的進程和其他狀況;top是一個動態顯示過程,即可以通過使用者按鍵來不斷重新整理目前狀態.如果在前台執行改命令,它將獨佔前台,知道使用者終止該程式為止.top命令提供了對系統處理器狀態監視.顯示系統中CPU最"敏感"的工作清單.該命令可以按CPU使用.記憶體使用量和執行對任務進行排序;而且該命令的很多特性都可以通過互動式命令或者在個人定製檔案中進行設定。
(3).環境設定
在linux下使用
(4).使用方法
1.使用格式
top [-] [d] [p] [q] [c] [C] [S] [s] [n]
2.參數說明
d 制定每兩次螢幕資訊重新整理之間的時間間隔。當然使用s互動命令來改變。
p 通常制定監控進程ID來僅僅監控某一個進程的狀態
q 該選項將使top沒有任何延遲的進程重新整理,如果調用程式有超級使用者權限,那麼top將以儘可能高的優先順序運行。
S 指累計模式
s 使top命令在安全模式中運行。這將去除互動命令所帶來的潛在危險
i 使top不顯示任何限制或者僵死進程
c 顯示整個命令列而不只是顯示命令名
3.其他
top命令執行過程中可以使用的一些互動命令。從使用角度來看,梳理的掌握這些命令比掌握選項還重要一些。這些命令都是單字母的,如果命令列選項中使用了s選項,則可能其中一些命令會被屏蔽掉。
ctrl+L 擦除並且重寫螢幕
h或者?顯示協助畫面,給出一些簡短的命令總結說明
k 終止一個進程。系統將提升使用者輸入需要終止的進程PID,以及需要發送給該進程什麼樣的訊號。一般的終止進程可以使用15訊號;如果不能正常結束那就使用訊號9強制結束該進程。預設值是訊號15。在安全模式中此命令被屏蔽。
i 忽略閑置和僵死進程。這是一個開關式命令。
q 推出程式。
r 重新安排一個進程優先順序別。系統提示使用者輸入需要改變的進程PID以及需要設定的進程優先順序值。輸入一個正值將使優先順序降低,反之則可以使該進程擁有更高的優先權。預設值是10.
S 切換到累計模式。?
s 改變兩次重新整理之間的延遲時間。系統將提示使用者輸入新的時間,單位為s。如果有小數,就換算成m s。輸入0值則系統將不斷重新整理,預設值5 s。需要注意的是如果設定太小的時間,很可能引起不斷重新整理,從而根本來不及看清顯示的情況,而且系統負載也回大大增加。
f或者F從當前顯示中添加或刪除項目。
o或者O改變顯示項目的順序。
l切換顯示平均負載和啟動時間資訊。
m 切換顯示記憶體資訊
t 切換顯示進程和cpu狀態資訊
c 切換顯示命令名稱和完整命令列
M 根據駐留記憶體大小進行排序
P 根據CPU使用百分比大小進行排序
T 根據時間/累計時間進行排序
W 將當前設定寫入~/.toprc檔案中。這是寫入top設定檔的推薦方法。