Top命令
作用:top命令用來顯示執行中的程序進程,是linux下常用的性能分析工具,能夠實時顯示各個進程的資源佔用情況。
格式:
usage: top -hv | -bcisSHM -d delay -n iterations [-u user | -U user] -p pid [,pid ...]
詳解
統計區域:
top - 14:11:26 up 39 days, 22:46, 2 users, load average: 12.00, 12.10, 12.07 Tasks: 86 total, 13 running, 73 sleeping, 0 stopped, 0 zombie Cpu(s): 80.6%us, 19.4%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1026932k total, 925872k used, 101060k free, 186308k buffers Swap: 2104504k total, 0k used, 2104504k free, 591456k cached |
top - 14:11:26 up 39 days, 22:46
當前的時間、系統運行時間
2 users
當前登錄用戶數
load average: 12.00, 12.10, 12.07
系統負載,即任務隊列的平均長度,三個數值分別爲1、5、15分鐘前到現在的平均值
Tasks: 86 total, 13 running, 73 sleeping, 0 stopped, 0 zombie
總共進程數爲86,13個正在運行的進程,73個睡眠的進程,0個停止的進程,0個殭屍進程數
Cpu(s): 80.6%us, 19.4%sy, 0.0%ni, 0.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st
Cpu 用戶空間佔用cpu80.6百分比,內核空間佔用19.4百分比,用戶進程空間內改變過優先級的進程佔用0百分比,空閒CPU佔0百分比,IO等待佔用cpu百分比,硬中斷(Hardware IRQ)佔用CPU0百分比,軟中斷(software interrupts)佔用cpu0百分比,
注意:
名詞解釋:
用戶空間and內核空間
Linux的虛擬地址空間爲0~4G,linux內核將這4G字節的空間分爲兩部分,
將最高1G字節(從虛擬地址0xC0000000到0xFFFFFFFF),供內核使用,稱內核空間
將較低的3G字節(從虛擬地址0x00000000到0xBFFFFFFF),供各個進程用,稱爲用戶空間。
Mem: 1026932k total, 925872k used, 101060k free, 186308k buffers
內存狀態 物理內存總量1G,使用中的內存925M,空閒內存101M,緩存的內存186M
Swap: 2104504k total, 0k used, 2104504k free, 591456k cached
計算內存:
Free+buffers+cached=可用內存
交換分區 交換區總量爲2G 使用的交行分區總量爲0 空閒的交換分區爲2G 緩衝的交換分區總量爲591M
注:
對內存的監控,在top裏要時刻監控swap交換分區的used,如果這個數值再不斷變化,說明內核在不斷進行內存和swap的數據交換,這是真正的內存不夠用了。
進程區域
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 進程名稱(命令名/命令行)
使用快捷鍵顯示參數
f:
更改顯示的內容。需要顯示那個參數就選擇相應的字母,按回車確定
o
可以改變列的顯示順序。按小寫的a-z可以將相應的列向右移,而大寫的A-Z可以將相應的列向左一定,然後按回車確定
d:
指定每次屏幕刷新之間的時間間隔,單位秒
i:
不顯示任何閒置或者僵死的程序
k:
終止一個進程
l:
顯示平均負載和啓動時間信息
m:
切換顯示內存信息
t:
切換顯示進程和cpu狀態信息
c:
顯示命令名稱和完整命令行
M:
根據駐留內存大小進行排序
P:
根據CPU使用率進行排序
T:
根據時間累計時間進行排序