使用Linux命令检查Linux服务器性能(2)

上述这些CPU时间,可以让我们很快了解CPU是否出于繁忙状态。一般情况下,如果用户时间和系统时间相加非常大,CPU出于忙于执行指令。如果IO等待时间很长,那么系统的瓶颈可能在磁盘IO。

mpstat -P ALL 1 命令

[root@Dev-Test-203 ~]# mpstat -P ALL 1 Linux 3.10.0-514.6.1.el7.x86_64 (Dev-Test-203) 05/09/2017 _x86_64_ (4 CPU) 04:52:23 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 04:52:24 PM all 1.75 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 97.24 04:52:24 PM 0 3.00 0.00 2.00 0.00 0.00 0.00 0.00 0.00 0.00 95.00 04:52:24 PM 1 2.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 97.00 04:52:24 PM 2 1.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 98.00 04:52:24 PM 3 1.00 0.00 1.00 0.00 0.00 0.00 0.00 0.00 0.00 98.00

该命令可以显示每个CPU的占用情况,如果有一个CPU占用率特别高,那么有可能是一个单线程应用程序引起的。

pidstat 1 命令

[root@Dev-Test-203 ~]# pidstat 1 Linux 3.10.0-514.6.1.el7.x86_64 (Dev-Test-203) 05/09/2017 _x86_64_ (4 CPU) 04:54:13 PM UID PID %usr %system %guest %CPU CPU Command 04:54:14 PM 102 4768 0.96 0.96 0.00 1.92 1 redis-server 04:54:14 PM 106 7208 0.00 0.96 0.00 0.96 0 haproxy 04:54:14 PM 0 8994 0.96 2.88 0.00 3.85 3 pidstat 04:54:14 PM 0 12940 4.81 0.96 0.00 5.77 0 dockerd 04:54:14 PM 0 12960 0.00 0.96 0.00 0.96 3 loop0 04:54:14 PM 0 16610 0.96 0.00 0.00 0.96 3 rancher-metadat 04:54:14 PM 0 17338 0.96 0.00 0.00 0.96 1 plugin-manager 04:54:14 PM 0 24713 10.58 9.62 0.00 20.19 1 cadvisor 04:54:14 PM 109 27286 1.92 1.92 0.00 3.85 3 beam.smp 04:54:14 PM 999 27733 0.96 0.96 0.00 1.92 1 daphne

pidstat命令输出进程的CPU占用率,该命令会持续输出,并且不会覆盖之前的数据,可以方便观察系统动态。

iostat -xz 1 命令

[root@Dev-Test-203 ~]# iostat -xz 1 Linux 3.10.0-514.6.1.el7.x86_64 (Dev-Test-203) 05/09/2017 _x86_64_ (4 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 3.49 0.00 2.65 0.23 0.00 93.63 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.01 0.15 0.08 2.08 2.06 21.69 22.02 0.03 12.92 5.26 13.21 5.21 1.12 dm-0 0.00 0.00 0.08 2.13 2.00 21.28 21.10 0.03 13.65 5.29 13.94 5.08 1.12 dm-1 0.00 0.00 0.01 0.10 0.03 0.40 8.01 0.00 19.17 8.54 20.04 0.25 0.00 dm-2 0.00 0.00 0.00 0.00 0.00 0.00 27.20 0.00 10.77 6.23 17.66 5.07 0.00 dm-3 0.00 0.00 0.03 0.09 0.57 1.63 38.43 0.00 8.55 2.50 10.28 4.03 0.05 dm-4 0.00 0.00 0.00 0.00 0.04 0.01 59.16 0.00 3.76 3.44 5.59 2.00 0.00 dm-5 0.00 0.00 0.00 0.00 0.01 0.00 53.15 0.00 2.74 1.85 11.37 1.02 0.00 dm-7 0.00 0.00 0.00 0.00 0.01 0.09 41.04 0.00 6.63 3.26 7.06 4.42 0.00 dm-8 0.00 0.00 0.00 0.00 0.01 0.08 36.56 0.00 4.91 1.87 5.22 4.78 0.00 dm-9 0.00 0.00 0.00 0.01 0.02 0.09 29.21 0.00 6.90 2.31 7.40 3.35 0.00 dm-10 0.00 0.00 0.00 0.00 0.04 0.00 64.19 0.00 1.60 1.01 11.22 0.64 0.00 dm-11 0.00 0.00 0.00 0.00 0.01 0.00 40.18 0.00 7.79 6.85 18.77 1.47 0.00 dm-12 0.00 0.00 0.00 0.00 0.01 0.00 43.22 0.00 1.72 1.69 1.98 1.33 0.00 dm-13 0.00 0.00 0.00 0.00 0.02 0.00 52.31 0.00 3.18 2.19 14.03 0.96 0.00 dm-6 0.00 0.00 0.00 0.00 0.02 0.00 63.19 0.00 1.49 0.90 6.86 1.13 0.00 dm-14 0.00 0.00 0.00 0.00 0.02 0.00 60.85 0.00 4.88 3.77 17.47 1.37 0.00 dm-15 0.00 0.00 0.00 0.00 0.03 0.01 51.59 0.00 5.24 3.76 6.88 3.00 0.00 dm-16 0.00 0.00 0.00 0.00 0.06 0.03 52.55 0.00 4.52 3.33 6.92 2.56 0.00 dm-17 0.00 0.00 0.01 0.04 0.09 0.97 45.18 0.00 11.00 4.92 11.77 7.90 0.04 dm-18 0.00 0.00 0.00 0.00 0.01 0.00 43.23 0.00 4.25 1.18 27.08 1.24 0.00 dm-19 0.00 0.00 0.00 0.00 0.03 0.00 35.95 0.00 1.69 0.09 18.49 0.17 0.00

iostat命令主要用于查看机器磁盘IO情况。该命令输出的列,主要含义是:

r/s, w/s, rkB/s, wkB/s:分别表示每秒读写次数和每秒读写数据量(千字节)。读写量过大,可能会引起性能问题。

await:IO操作的平均等待时间,单位是毫秒。这是应用程序在和磁盘交互时,需要消耗的时间,包括IO等待和实际操作的耗时。如果这个数值过大,可能是硬件设备遇到了瓶颈或者出现故障。

avgqu-sz:向设备发出的请求平均数量。如果这个数值大于1,可能是硬件设备已经饱和(部分前端硬件设备支持并行写入)。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/e5f1631ce98efc7730e12059294704f0.html