1、top命令功能簡介
top是Linux常用的性能分析工具,能夠實時顯示各個進程使用資源的情況。
2、top顯示信息詳解
[root@vms002 rh134]# top top - 12:00:29 up 1 day, 1:11, 4 users, load average: 0.00, 0.01, 0.11 Tasks: 504 total, 1 running, 503 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.2 us, 0.3 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 4033636 total, 2105296 free, 682480 used, 1245860 buff/cache KiB Swap: 4194300 total, 4194300 free, 0 used. 3062188 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 58709 root 20 0 130412 2220 1276 R 0.7 0.1 0:00.06 top 852 root 20 0 269016 4388 3536 S 0.3 0.1 1:38.79 vmtoolsd 1996 jerry 20 0 1066404 24132 15144 S 0.3 0.6 0:03.18 gnome-settings- 1 root 20 0 60716 8164 2720 S 0.0 0.2 0:11.44 systemd
信息詳解:
1)第一行:top
12:00:29 #當前時間 up 1 day, 1:11, #已運行時間 4 users, #當前連接用戶 load average: 0.00, 0.01, 0.11 #平均負載
2)第二行:Tasks
504 total, #當前運行的總進程數 1 running, #正在運行的進程數 503 sleeping, #掛起的進程數 0 stopped, #停止的進程數 0 zombie #殭屍進程數
3)第三行:%Cpu(s) 有(s)表示有多個CPU
0.2 us, #用戶佔用的CPU百分比 0.3 sy, #系統佔用的CPU百分比 0.0 ni, #調整過優先級的進程佔用CPU百分比 99.5 id, #空閒時間佔用CPU百分比 0.0 wa, #等待(等待I/O輸入輸出)時間佔CPU百分比 0.0 hi, #CPU硬中斷所耗費的時間總額 0.0 si, #CPU軟中斷所耗費的時間總額 0.0 st #被偷走的佔用時間百分比
這裏的CPU時間百分比是平均值,按1即可展開全部CPU的詳細信息
4)第四行:KiB Mem
4033636 total, #物理內存總量 2105296 free, #空閒物理內存 682480 used, #已使用的物理內存 1245860 buff/cache #緩衝/緩存 內存
5)第五行:KiB Swap
4194300 total, #交換區總量 4194300 free, #空閒的交換區 0 used. #已使用的交換區 3062188 avail Mem
6)進程信息:
PID #進程ID USER #進程的所有者 PR #實時優先級(共140個級別) NI #優先級 VIRT #進程使用的虛擬內存 RES #進程使用的真實內存 SHR #共享內存 S #進程狀態 %CPU #進程的CPU佔用率 %MEM #進程的內存佔用率 TIME+ #進程佔用的總CPU時間片段 COMMAND #進程名稱
3、top其他的交互指令:
h|? #幫助 M #按內存的使用排序 P #按CPU的使用排序 N #以PID的大小排序 R #對排序進行反轉 r #修改進程優先級 k #殺死進程 s #多長時間更新一次信息,秒爲單位 f #自定義顯示字段 1 #顯示所有CPU的負載 < #向前 > #向後 z #彩色 W #保存top環境設置~/.toprc q #退出
4、需要被監控的:
1)top 中第一行的load average平均負載,需要被監控。命令如下所示:
[root@vms002 rh134]# top -bn1|head -1|awk -F: '{print $NF}' 0.00, 0.01, 0.05
2)第二行的Tasks也需要監控,監控是否有殭屍進程。命令如下所示:
[root@vms002 rh134]# top -bn1|sed -n '2,2p'|awk -F, '{print $NF}' 0 zombie