吴宏东 – 记于2018年07月11日 – 博客 https://segmentfault.com/u/wu…
Linux 系统监控
系统监控
命令 top
top的交互命令:
d 输入数字n后回车,表示按n秒刷新;
空格键和回车键,表示立即刷新;
q 表示退出top监控;
# 调出top
top;
# 输出
top - 22:22:13 up 11:35, 2 users, load average: 0.02, 0.03, 0.05
Tasks: 108 total, 3 running, 105 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.4 sy, 0.0 ni, 99.2 id, 0.0 wa, 0.0 hi, 0.2 si, 0.0 st
KiB Mem : 3863544 total, 3366220 free, 167452 used, 329872 buff/cache
KiB Swap: 2097148 total, 2097148 free, 0 used. 3422540 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
9 root 20 0 0 0 0 S 0.2 0.0 0:26.23 rcu_sched
905 root 20 0 261628 8316 5176 R 0.2 0.2 1:05.62 vmtoolsd
解释:
输出信息top – 后面是当前时间,up后面是系统开机运行的时间,有2个登录用户;
load average后面三个数值分别表示1分钟、5分钟、15分钟系统平均负载;
KiB Mem后面表示物理内存的总量、空闲、已用;
KiB Swap后面表示虚拟内存的总量、空闲、已用;
重点观察负载情况:
一般看最后一个15分钟负载,如果单核CPU,数字达到1,表示已经负载;如果双核,数字达到2,则表示已经达到负载了。
那么一般当系统CPU核心数*0.7,超过这个值,就得找系统问题了;
命令 iostat
# 安装sysstat
yum install -y sysstat;
# 调出I/O监控
[root@master wuhd]# iostat
Linux 3.10.0-862.2.3.el7.x86_64 (master.wuhongdong.com) 2018年07月11日 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.18 0.00 0.28 0.01 0.00 99.53
Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn
sda 0.35 10.29 1.45 437395 61528
dm-0 0.36 9.58 1.40 407397 59458
dm-1 0.00 0.05 0.00 2248 0
dm-2 0.00 0.01 0.00 512 0
[root@master wuhd]# iostat -x
Linux 3.10.0-862.2.3.el7.x86_64 (master.wuhongdong.com) 2018年07月11日 _x86_64_ (1 CPU)
avg-cpu: %user %nice %system %iowait %steal %idle
0.18 0.00 0.29 0.01 0.00 99.53
Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util
sda 0.00 0.02 0.20 0.15 10.13 1.49 65.78 0.00 1.95 0.81 3.50 1.09 0.04
dm-0 0.00 0.00 0.19 0.17 9.43 1.44 60.11 0.00 2.10 0.83 3.57 1.06 0.04
dm-1 0.00 0.00 0.00 0.00 0.05 0.00 45.41 0.00 0.16 0.16 0.00 0.15 0.00
dm-2 0.00 0.00 0.00 0.00 0.01 0.00 30.12 0.00 0.03 0.03 0.00 0.03 0.00
在一段时间内,当%iowait的值大于40%时,表示硬盘存在严重的I/O瓶颈;
在一段时间内,当%util的值接近100%时,表示设备带宽已经占满;