前提需要有root用户
sar命令查看历史监控
CPU使用情况
# 进入日志目录
cd /var/log/sa
# 根据日志文件最后写入时间以及宕机日期,找到最终文件
ls -l
# 我这里是sa08
sar -u -f /var/log/sa/sa08 |more
-----
Linux 2019年09月08日 _x86_64_ (24 CPU)
00时00分01秒 CPU %user %nice %system %iowait %steal %idle
00时10分01秒 all 0.33 0.00 0.09 0.00 0.00 99.58
00时20分01秒 all 0.89 0.00 0.18 0.00 0.00 98.93
00时30分01秒 all 0.88 0.00 0.18 0.00 0.00 98.94
00时40分01秒 all 0.59 0.00 0.14 0.00 0.00 99.27
00时50分01秒 all 0.48 0.00 0.12 0.00 0.00 99.40
01时00分01秒 all 0.62 0.00 0.13 0.00 0.00 99.25
01时10分01秒 all 0.68 0.00 0.13 0.00 0.00 99.19
01时20分01秒 all 0.64 0.00 0.12 0.00 0.00 99.24
01时30分01秒 all 0.56 0.00 0.12 0.00 0.00 99.32
01时40分01秒 all 0.46 0.00 0.11 0.00 0.00 99.43
01时50分01秒 all 0.51 0.00 0.12 0.00 0.00 99.37
02时00分01秒 all 0.45 0.00 0.12 0.00 0.00 99.43
平均时间: all 0.59 0.00 0.13 0.00 0.00 99.28
-----
经过上面的数据,可以看到CPU使用率很低。可以确定不是CPU问题。另外倒数第二行数据可以看出,主机应是在02:00~02:01之间宕机
查看内存使用是否有异常
#还是上面的日志文件,只不过换个指标查看
sar -r -f /var/log/sa/sa08 |more
------
Linux 2019年09月08日 _x86_64_ (24 CPU)
00时00分01秒 kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit
00时10分01秒 114464040 17646564 13.36 31260 3605204 17797008 8.93
00时20分01秒 114468368 17642236 13.35 22912 3396728 18070556 9.07
00时30分01秒 114428096 17682508 13.38 21780 3653400 17804732 8.94
00时40分01秒 114319528 17791076 13.47 18768 3731408 17821784 8.95
00时50分01秒 114590068 17520536 13.26 14532 3460072 17847420 8.96
01时00分01秒 114529712 17580892 13.31 14280 3546940 17810652 8.94
01时10分01秒 114372120 17738484 13.43 16944 3700472 17814460 8.94
01时20分01秒 114504352 17606252 13.33 18400 3590596 17779720 8.92
01时30分01秒 114702088 17408516 13.18 19392 3362456 17819376 8.94
01时40分01秒 114651116 17459488 13.22 21284 3429620 17792648 8.93
01时50分01秒 114622468 17488136 13.24 22740 3475144 17778032 8.92
02时00分01秒 114758940 17351664 13.13 23848 3290108 17822236 8.95
平均时间: 114534241 17576363 13.30 20512 3520179 17829885 8.95
------
内存使用率也很低
查看io使用情况
sar -b -f /var/log/sa/sa08 |more
------
Linux 2019年09月08日 _x86_64_ (24 CPU)
00时00分01秒 tps rtps wtps bread/s bwrtn/s
00时10分01秒 45.56 0.28 45.28 5.98 660.47
00时20分01秒 304.99 0.03 304.96 0.21 4700.47
00时30分01秒 363.51 0.14 363.37 4.87 5577.93
00时40分01秒 186.07 0.01 186.05 0.11 2849.80
00时50分01秒 128.96 0.08 128.88 4.00 1961.89
01时00分01秒 162.87 0.07 162.80 0.59 2494.21
01时10分01秒 148.56 0.47 148.09 12.17 2266.75
01时20分01秒 119.21 0.01 119.20 0.08 1811.50
01时30分01秒 91.46 0.06 91.41 1.13 1377.49
01时40分01秒 87.02 0.01 87.01 0.07 1309.71
01时50分01秒 99.95 0.00 99.95 0.03 1512.12
02时00分01秒 83.40 0.08 83.33 3.34 1251.40
平均时间: 151.77 0.10 151.66 2.71 2314.00
------
这个有点看不懂,不过感觉没毛病
查看loadavage负载情况
sar -q -f /var/log/sa/sa08 |more
------
Linux 2019年09月08日 _x86_64_ (24 CPU)
00时00分01秒 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
00时10分01秒 0 2458 0.01 0.01 0.00
00时20分01秒 0 2459 0.37 0.14 0.04
00时30分01秒 1 2459 0.01 0.11 0.08
00时40分01秒 1 2459 0.00 0.01 0.02
00时50分01秒 1 2459 0.04 0.01 0.00
01时00分01秒 3 2462 0.09 0.03 0.00
01时10分01秒 1 2459 0.02 0.05 0.01
01时20分01秒 1 2460 0.01 0.11 0.07
01时30分01秒 1 2460 0.00 0.02 0.03
01时40分01秒 1 2459 0.05 0.03 0.01
01时50分01秒 1 2459 0.00 0.00 0.00
02时00分01秒 1 2459 0.26 0.13 0.04
平均时间: 1 2459 0.07 0.05 0.03
------
我们机器是多核超线程的,并且这里loadavage也都小于1,更没问题了。
sar命令还是很强大的,可以概括如下:
1)怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看
2)怀疑内存存在瓶颈,可用 sar -B、sar -r 和 sar -W 等来查看
3)怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看
参考文章:linux服务器宕机分析/性能瓶颈分析