1. 程式人生 > >top命令詳解

top命令詳解

top linux 監控

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 也需要監控

監控是否有僵屍進程

。。。


top命令詳解