top命令詳解

top工具
top是linux常用的性能分析工具,能夠實時顯示各個進程的資源使用情況。

在命令行輸入 top 即可進入
[root@tigerfive ~]# top

top - 07:47:17 up 28 min,  2 users,  load average: 1.08, 1.54, 1.13
Tasks: 209 total,   1 running, 208 sleeping,   0 stopped,   0 zombie
%Cpu(s):  2.4 us, 12.2 sy,  0.1 ni, 82.1 id,  3.2 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  7946924 total,  3838888 free,  1033464 used,  3074572 buff/cache
KiB Swap:  8388604 total,  8388604 free,        0 used.  4911180 avail Mem

PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND

      第一行                                                                                                           

07:47:17  當前時間

28 min     已運行時間

2 users    當前連接用戶

load average: 1.08, 1.54, 1.13   平均負載 :一分鐘  五分鐘  十五分鐘

     第二行                                                                                                               

209 total          當前運行的總進程數

1 running        正在運行的進程數

208 sleeping    掛起的進程數

0 stopped        停止的進程數

0 zombie          殭屍進程數

     第三行                                                                                                               

2.4 us      用戶佔用的CPU百分比

12.2 sy    系統佔用的cpu百分比

 0.1 ni,     調整過優先級的進程佔用cpu百分比

82.1 id     空閒時間佔cpu百分比 

3.2 wa      等待(等待I/O輸入輸出)時間佔cpu百分比

 0.0 hi       cpu硬中斷佔用時間百分比

0.0 si        cpu軟中斷佔用時間百分比

0.0 st        被偷走的佔用時間百分比

這裏的CPU時間百分比是平均值,按1即可展開全部cpu的詳細情況

        第四行                                                                                                            

total                物理內存總量

free                 空閒的物理內存

used                已使用的物理 內存

buff/cache        緩衝/緩存 內存

      第五行                                                                                                               

total       交換區總量

free        空閒的交換區   

used       已使用的交換分區


 進程信息                                                                                                                

pid        進程ID

user      進程的所有者

PR         實時優先級(共140個級別)

NI          優先級

VIRT       進程使用的虛擬內存

RES        進程使用的真實內存

SHR        共享內存

S             進程狀態

%CPU      進程的cpu佔用率

%MEM      進程的內存佔用率

TIME+       進程佔用的總cpu時間片段

COMMSND  進程名稱


top的其他交互式指令

h|?幫助
M    按內存的使用排序
P    按CPU使用排序
N    以PID的大小排序
R    對排序進行反轉
f    自定義顯示字段
1    顯示所有CPU的負載

<    向前
>    向後
z    彩色
W 保存top環境設置 ~/.toprc


需要被監控的                                                                                          

        top 中第一行的 load average 需要被監控 load average  : 一分鐘 五分鐘  十五分鐘   等待cpu處理的進程隊列的平均長度


 [root@tigerfive ~]# top -bn1 |head -1
   top - 11:28:31 up  4:00,  3 users,  load average: 0.53, 0.46, 0.49            
[root@tigerfive ~]# top -bn1   | head -1 | cut -d ','  -f 3-
   load average: 0.42, 0.54, 0.53
[root@tigerfive ~]# top -bn1   | head -1 | awk -F ',' '{print $3","$4","$5}'
   load average: 0.33, 0.46, 0.50
[root@tigerfive ~]# top -bn1   | head -1 | awk '{print $10$11$12}'
   0.72,0.51,0.51 

需要注意的是,如果運行時間超過一天就需要更改後邊的參數,所以需要腳本中需要先判斷時間

         第二行的 Tasks 也需要監控

監控是否有殭屍進程 

。。。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章