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

监控是否有僵尸进程 

。。。