在命令行输入 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 也需要监控
监控是否有僵尸进程
。。。
原文地址:http://blog.51cto.com/12419955/2052642