1 top
top - 15:16:47 up 23:01, 5 users, load average: 2.54, 2.42, 2.19
Tasks: 141 total, 2 running, 139 sleeping, 0 stopped, 0 zombie
%Cpu(s): 21.7 us, 3.1 sy, 0.0 ni, 69.6 id, 5.2 wa, 0.0 hi, 0.4 si, 0.0 st
KiB Mem : 8010956 total, 133432 free, 5159728 used, 2717796 buff/cache
KiB Swap: 0 total, 0 free, 0 used. 2318428 avail Mem
指标含义:
1. 15:16为当前系统运行时间
2. up 系统运行时间为23小时01分钟
3. user 当前登录用户数
4. load average 2.54, 2.42, 2.19 系统负载,任务队列不同时间段平均长度,分别为1分钟,5分钟,15分钟前到现在
5. Tasks 141 total, 当前进程总数
6. 2 running 正在运行的进程数
7 . 139 sleeping 睡眠的进程数
8. 0 stop 停止的进程数
9. 0zombie 僵尸进程数
10 Cpu(s): 21.7 %us, 用户空间占用CPU百分比
11 3.1%sy, 内核空间占用CPU百分比
0.0%ni, 用户进程空间内改变过优先级的进程占用CPU百分比
69.6 id%id 空闲CPU
5.2%wa 等待输入输出的CPU时间百分比
0.0%hi 硬中断
0.0%si 软中断
0.0%st 实时
12. Mem 8010956 total, (8G) 内存总容量
5159728 used, (5G)使用的物理内存总量
133432K free, (133M) 空闲内存总量
2717796 buffers/cache, (2.7G) 用做内核缓存/缓冲的内存量
13.Swap 0 total () 交换分区总量
0 used 使用的交换分区总量
0 free ( 空闲的交换分区总量
2318428 avail 可用
关于可用内存= free+ buffers/cache
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
41954 user 20 0 9702216 4.633g 6576 S 137.0 60.6 863:24.75 java
下面是重点要关注的。
关于负载: load average
网上很多文章介绍。有很专业的,从源码角度分析。
通常是 反应CPU+磁盘IO的综合指标。
一版认为核shu* 0.7 是报警指标。》1 需要重点关注。
而且1分钟,5分钟 ,15分钟 就是重点关注15分钟的。短期1分钟是不是会降下去。
二 sar
13时15分01秒 CPU %user %nice %system %iowait %steal %idle
13时18分01秒 all 18.35 0.00 2.88 5.62 0.01 73.15
13时21分01秒 all 19.54 0.00 3.10 6.25 0.01 71.10
13时24分01秒 all 18.71 0.00 3.03 6.03 0.01 72.23
13时27分01秒 all 18.38 0.00 2.98 5.83 0.01 72.81
13时30分01秒 all 19.17 0.00 3.08 6.05 0.01 71.70
13时33分01秒 all 18.20 0.00 2.96 5.60 0.01 73.23
13时36分01秒 all 18.13 0.00 2.86 5.44 0.01 73.56
13时39分01秒 all 18.71 0.00 3.07 5.74 0.00 72.48
13时42分01秒 all 18.33 0.00 2.85 5.25 0.01 73.56
13时45分01秒 all 17.72 0.00 2.86 5.45 0.00 73.97
13时48分01秒 all 18.28 0.00 2.97 5.83 0.00 72.91
13时51分01秒 all 18.60 0.00 2.96 5.91 0.01 72.53
13时54分01秒 all 18.46 0.00 2.99 5.50 0.00 73.04
13时57分01秒 all 20.26 0.00 3.16 6.41 0.01 70.16
%user 用户空间的CPU使用
%nice 改变过优先级的进程的CPU使用率
%system 内核空间的CPU使用率
%iowait CPU等待IO的百分比
%steal 虚拟机的虚拟机CPU使用的CPU
%idle 空闲的CPU
在以上的显示当中,主要看%iowait和%idle,%iowait过高表示存在I/O瓶颈,即磁盘IO无法满足业务需求,如果%idle过低表示CPU使用率比较严重,需要结合内存使用等情况判断CPU是否瓶颈。
当然关注io可以使用iostat 去查看。