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
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命令詳解