Top 命令詳解

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

相關文章
相關標籤/搜索