top:動態檢視程式變化,監控linux的系統狀況, 是Linux下常用的效能分析工具,能夠實時顯示系統中各個程式的資源佔用狀況,類似於Windows的工作管理員。
下面詳細介紹它的使用方法:
統計資訊區
前五行是系統整體的統計資訊。
- 第一行是任務佇列資訊,同 uptime 命令的執行結果。其內容如下:
07:25:19 當前時間 up 246 days 系統執行時間 2:34 4 user 當前登入使用者數 load average: 2.51, 2.53, 2.53 系統負載,即任務佇列的平均長度。 三個數值分別為 1分鐘、5分鐘、15分鐘前到現在的平均值。
- 第二、三行為程式和CPU的資訊。當有多個CPU時,這些內容可能會超過兩行。內容如下:
Tasks: total 程式總數 running 正在執行的程式數 sleeping 睡眠的程式數 stopped 停止的程式數 zombie 殭屍程式數
Cpu(s): us 使用者空間佔用CPU百分比 sy 核心空間佔用CPU百分比 ni 使用者程式空間內改變過優先順序的程式佔用CPU百分比 id 空閒CPU百分比 wa 等待輸入輸出的CPU時間百分比 hi 硬中斷(Hardware IRQ)佔用CPU的百分比 si 軟中斷(Software Interrupts)佔用CPU的百分比 st (Steal time) 是當 hypervisor 服務另一個虛擬處理器的時候,虛擬 CPU 等待實際 CPU 的時間的百分比。
Mem: total 實體記憶體總量 free 空閒記憶體總量 used 使用的實體記憶體總量 buff/cache 用作核心快取的記憶體量
Swap: total 交換區總量 free 空閒交換區總量 used 使用的交換區總量 avail Mem 緩衝的交換區總量
記憶體中的內容被換出到交換區,而後又被換入到記憶體,但使用過的交換區尚未被覆蓋,
該數值即為這些內容已存在於記憶體中的交換區的大小。
相應的記憶體再次被換出時可不必再對交換區寫入。
程式資訊區
統計資訊區域的下方顯示了各個程式的詳細資訊。首先來認識一下各列的含義。PID 程式id PPID 父程式id RUSER Real user name d UID 程式所有者的使用者id e USER 程式所有者的使用者名稱 f GROUP 程式所有者的組名 g TTY 啟動程式的終端名。不是從終端啟動的程式則顯示為 ? h PR 優先順序 i NI nice值。負值表示高優先順序,正值表示低優先順序 j P 最後使用的CPU,僅在多CPU環境下有意義 k %CPU 上次更新到現在的CPU時間佔用百分比 l TIME 程式使用的CPU時間總計,單位秒 m TIME+ 程式使用的CPU時間總計,單位1/100秒 n %MEM 程式使用的實體記憶體百分比 o VIRT 程式使用的虛擬記憶體總量,單位kb。VIRT=SWAP+RES p SWAP 程式使用的虛擬記憶體中,被換出的大小,單位kb。 q RES 程式使用的、未被換出的實體記憶體大小,單位kb。RES=CODE+DATA r CODE 可執行程式碼佔用的實體記憶體大小,單位kb s DATA 可執行程式碼以外的部分(資料段+棧)佔用的實體記憶體大小,單位kb t SHR 共享記憶體大小,單位kb u nFLT 頁面錯誤次數 v nDRT 最後一次寫入到現在,被修改過的頁面數。 w S 程式狀態。 D=不可中斷的睡眠狀態 R=執行 S=睡眠 T=跟蹤/停止 Z=殭屍程式 x COMMAND 命令名/命令列 y WCHAN 若該程式在睡眠,則顯示睡眠中的系統函式名 z Flags 任務標誌,參考 sched.h
預設情況下僅顯示比較重要的 PID、USER、PR、NI、VIRT、RES、SHR、S、%CPU、%MEM、TIME+、COMMAND 列。可以通過下面的快捷鍵來更改顯示內容。
top命令選項
top [-] [d] [p] [q] [C] [S] [s] [n]
-d 後跟秒數,指定每兩次螢幕資訊重新整理之間的時間間隔,表示程式介面更新時間(預設為5秒)。如:將top程式表在/tmp/top.txt中列印2次。
top -b -n 2 > /tmp/top.txt
-p程式ID 如:檢視程式號為1的程式。 top -p 1
-q 該選項將使top沒有任何延遲的進行重新整理。如果呼叫程式有超級使用者許可權,那麼top將以儘可能高的優先順序執行。
-S 指定累計模式
-s 使top命令在安全模式中執行。這將去除互動命令所帶來的潛在危險。
-i 使top不顯示任何閒置或者僵死程式。
-c 顯示整個命令列而不只是顯示命令名
Top命令常見的操作
- 1、 2500毫秒重新整理一次TOP內容,總共5次,輸出內容存放到performace.txt檔案中
top -b -d 2.5 -n 5 > performace.txt
注:要將內容輸出到檔案中,必須使用-b,表示批處理選項
- 2、 TOP命令如何快速按%CPU、%MEM、TIME+列排序
- a) %CPU:使用大寫字母按鍵:P
b) %MEM:使用大寫字母按鍵:M
c) T IME+使用大寫字母按鍵: T注:TOP預設排序為倒序,如果確實需要升序排序,可以使用大寫字母按鍵:R
- a) %CPU:使用大寫字母按鍵:P
- 3、TOP命令中顯示其它列值、將兩列互換等
a). 選擇顯示列或隱藏列:使用小寫字母按鍵:f
c). 交換列顯示順序:使用小寫字母按鍵: o
* b). 選擇需要排序的列:使用大寫字母按鍵:F