Top命令顯示了實際CPU使用情況,默認情況下,它顯示了服務器上占用CPU的任務信息,並且每5秒鍾刷新一次。它會顯示CPU使用量、內存使用量、交換內存、緩存大小、緩沖區大小、流程PID、用戶、命令等。
說明:
前五行是系統整體的統計信息。
第一行是任務隊列信息,同 uptime 命令的執行結果。
11:18:26:當前系統時間,根據該值的變化差,可以計算top的刷新間隔秒數。
up 15 days,18:35:系統運行的時間。
1 user :當前登錄用戶數。
load average:0.00, 0.00, 0.00 系統負載,即任務隊列的平均長度。是每隔5秒鍾檢查一次活躍的進程數,然后按特定算法計算出的數值。如果這個數除以邏輯CPU的數量,結果高於5的時候就表明系統在超負荷運轉了。
第二行Tasks是進程信息。
118 total :進程總數。
1 running :正在運行的進程數。
117 sleeping 睡眠的進程數。
0 stopped 停止的進程數。
0 zombie 僵屍進程數。
第三行Cpu(s)是cpu信息。注:按“1”鍵可以顯示所有cpu信息。
0.0%us:用戶態使用CPU所占時間比。
0.1%sy:系統態使用CPU所占時間比。
0.0% ni:用做nice加權的進程使用的用戶態cpu時間比。nice:進程優先級修正值,可正可負,新的優先級=原優先級+nice修正值。
99.9%id:空閑的CPU時間比。
0.0%wa:等待輸入輸出的CPU時間比。如果一台機器wa過高,則可能是磁盤I/O出現問題,使用iostat進一步分析。
0.0%hi:硬中斷占用CPU時間比。
0.0%si:軟中斷占用CPU時間比。如果程序都沒什么問題,那么是沒有hi和si的。
0.0%st:虛擬機偷取的時間。一台物理是可以虛擬化出多台虛擬機,在其中一台虛擬機上用top查看發現st不為0,就說明本來有這么多個cpu時間是安排給我這個虛擬機的,但是由於某種虛擬技術,把這個cpu時間分配給了其他的虛擬機了。這就叫做偷取。詳見:http://melody-dc.com/2015/11/21/%E7%90%86%E8%A7%A3CPU-steal-time/
最后兩行為內存信息。
Mem:
8061376k total :物理內存總量。Total = used + free。
1298152k used:使用的物理內存總量。
6763224k free:空閑的物理內存總量。
296192k buffers:用作內核緩存的內存量。
Swap:
6709240k total:交換區內存總量。
0k used:使用的交換區總量。如果這個數值在不斷的變化,說明內核在不斷進行內存和swap的數據交換,這是真正的內存不夠用了。
6709240k free:空閑的交換區總量。
332452k cached:緩沖的交換區總量。內存中的內容被換出到交換區,而后又被換入到內存,但使用過的交換區尚未被覆蓋, 該數值即為這些內容已存在於內存中的交換區的大小。相應的內存再次被換出時可不必再對交換區寫入。
進程信息區
PID |
進程ID |
PPID |
父進程ID |
USER |
進程所有者的用戶名 |
PR |
優先級 |
NI |
nice值,即優先級修正值,負代表高優先級,正代表低優先級 |
VIRT |
進程使用的虛擬內存總量,單位kb。VIRT=SWAP+RES |
RES |
進程使用的、未被換出的物理內存大小,單位kb。RES=CODE+DATA |
SHR |
共享內存大小,單位kb |
S |
進程狀態。 R:TASK_RUNNING可執行狀態(正在運行+可執行但未被執行的進程) S:可中斷的睡眠狀態 D:不可中斷的睡眠狀態 T:暫停狀態或跟蹤狀態(信號) Z:退出狀態,進程成為僵屍進程 X:退出狀態,進程即將被銷毀 詳見:http://blog.chinaunix.net/uid-28811518-id-4099248.html |
%CPU |
上次更新到現在的CPU時間占用百分比 |
%MEM |
進程使用的物理內存百分比 |
TIME+ |
進程使用的CPU時間總計,單位1/100秒 |
CODE |
可執行代碼占用的物理內存大小,單位kb |
DATA |
可執行代碼以外的部分(數據段+棧)占用的物理內存大小,單位kb |
COMMAND |
命令名/命令行 |
按“f”鍵可以選擇顯示的內容,按 a-z 即可顯示或隱藏對應的列,最后按回車鍵確定。