Top 命令詳解
先感覺一下top命令的執行結果吧!哈哈~~緩存
top - 17:32:34 up 3 days, 8:04, 5 users, load average: 0.09, 0.12, 0.19
Tasks: 287 total, 2 running, 285 sleeping, 0 stopped, 0 zombie
%Cpu(s): 1.5 us, 0.9 sy, 0.0 ni, 97.5 id, 0.2 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem: 8053444 total, 7779224 used, 274220 free, 359212 buffers
KiB Swap: 8265724 total, 33840 used, 8231884 free. 4358088 cached Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
21471 ruanyang 20 0 2010136 710056 110396 S 3.7 8.8 187:52.22 firefox
2880 ruanyang 20 0 606996 48216 27980 S 2.3 0.6 5:32.19 gnome-terminal
1286 root 20 0 1023628 349492 295740 S 2.0 4.3 62:20.58 Xorg
2391 ruanyang 20 0 1664980 274936 74188 S 1.0 3.4 49:28.57 compiz
2157 ruanyang 20 0 40540 3896 2148 S 0.3 0.0 0:51.26 dbus-daemon
2253 ruanyang 20 0 596964 51856 25788 S 0.3 0.6 1:06.54 unity-panel-ser
2343 ruanyang 20 0 286756 10704 7516 S 0.3 0.1 0:13.33 indicator-appli
首先,咱們將它的結果分爲兩大區域統計信息區和進程信息區安全
統計信息區
第一行:任務隊列信息,與uptime
命令執行結果相同。app
- 17:32:34:系統當前時間
- up 3 days, 8:04:主機已運行時間
- 5 users:用戶鏈接數(不是用戶數,who命令)
- load average: 0.09, 0.12, 0.19:系統平均負載,統計最近1,5,15分鐘的系統平均負載
補充:uptime -V
可查詢版本函數
第二行:進程信息.net
- Tasks: 287 total:進程總數
- 2 running:正在運行的進程數
- 285 sleeping:睡眠的進程數
- 0 stopped:中止的進程數
- 0 zombie:殭屍進程數
第三行:CPU信息(當有多個CPU時,這些內容可能會超過兩行)firefox
- 1.5 us:用戶空間所佔CPU百分比
- 0.9 sy:內核空間佔用CPU百分比
- 0.0 ni:用戶進程空間內改變過優先級的進程佔用CPU百分比
- 97.5 id:空閒CPU百分比
- 0.2 wa:等待輸入輸出的CPU時間百分比
- 0.0 hi:硬件CPU中斷佔用百分比
- 0.0 si:軟中斷佔用百分比
- 0.0 st:虛擬機佔用百分比
第四行:內存信息(與第五行的信息相似與free命令)命令行
- 8053444 total:物理內存總量
- 7779224 used:已使用的內存總量
- 274220 free:空閒的內存總量(free+used=total)
- 359212 buffers:用做內核緩存的內存量
第五行:swap信息code
- 8265724 total:交換分區總量
- 33840 used:已使用的交換分區總量
- 8231884 free:空閒交換區總量
- 4358088 cached Mem:緩衝的交換區總量,內存中的內容被換出到交換區,而後又被換入到內存,可是使用過的交換區沒有被覆蓋,交換區的這些內容已存在於內存中的交換區的大小,相應的內存再次被換出時可沒必要再對交換區寫入。
進程信息區
- PID:進程id
- PPID:父進程id
- RUSER:Real user name(看了好多,都是這樣寫,也不知道和user有什麼區別,歡迎補充此處)
- UID:進程全部者的id
- USER:進程全部者的用戶名
- GROUP:進程全部者的組名
- TTY:啓動進程的終端名。不是從終端啓動的進程則顯示爲?
- PR:優先級
- NI:nice值。負值表示高優先級,正值表示低優先級
- P:最後使用的CPU,僅在多CPU環境下有意義
- %CPU:上次更新到如今的CPU時間佔用百分比
- TIME:進程使用的CPU時間總計,單位秒
- TIME+:進程所使用的CPU時間總計,單位1/100秒
- %MEM:進程使用的物理內存百分比
- VIRT:進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES
- SWAP:進程使用的虛擬內存中被被換出的大小
- RES:進程使用的、未被換出的物理內存的大小
- CODE:可執行代碼佔用的物理內存大小
- DATA:可執行代碼之外的部分(數據段+棧)佔用的物理內存大小
- SHR:共享內存大小
- nFLT:頁面錯誤次數
- nDRT:最後一次寫入到如今,被修改過的頁面數
- S:進程狀態(D=不可中斷的睡眠狀態,R=運行,S=睡眠,T=跟蹤/中止,Z=殭屍進程)
- COMMAND:命令名/行
- WCHAN:若該進程在睡眠,則顯示睡眠中的系統函數名
- Flags:任務標誌
默認狀況下,只顯示比較重要的列,若是想對top的顯示作點修改的話,那就繼續向下看吧!blog
top命令的使用
top使用格式
top [-] [d] [p] [q] [c] [C] [S] [s] [n]排序
top參數說明
- d: 指定每兩次屏幕信息刷新之間的時間間隔。固然用戶可使用s交互命令來改變之。
- p: 經過指定監控進程ID來僅僅監控某個進程的狀態。
- q: 該選項將使top沒有任何延遲的進行刷新。若是調用程序有超級用戶權限,那麼top將以儘量高的優先級運行。
- S: 指定累計模式
- s: 使top命令在安全模式中運行。這將去除交互命令所帶來的潛在危險。
- i: 使top不顯示任何閒置或者僵死進程。
- c: 顯示整個命令行而不僅是顯示命令名
交互命令
- 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配置文件的推薦方法。
參考文獻:
http://blog.csdn.net/sanshiqiduer/article/details/1933625