在上一篇文章,我们介绍了sysstat,以及它的安装。这一篇,将介绍sysstat的一些实用命令。安装完sysstat后会包含mpstat,iostat,pidstat,Tapestat等。
mpstat:监控cpu
-
如果我直接在屏幕上输出
mpstat
,显示所有处理器的平均统计信息,包括 CPU数量,cpu的 利用率、闲置率等。Linux 3.10.0-1160.76.1.el7.x86_64 (instance-20221010-2157) 01/21/2024 _x86_64_ (2 CPU) 05:26:43 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 05:26:43 PM all 0.83 0.00 0.28 0.24 0.00 0.02 15.17 0.00 0.00 83.46
-
mpstat -P ALL
输出所有cpu的使用信息,我一共有2颗cpu,在linux里,0是第一颗,1是第二颗Linux 3.10.0-1160.76.1.el7.x86_64 (instance-20221010-2157) 01/21/2024 _x86_64_ (2 CPU) 05:34:05 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 05:34:05 PM all 0.83 0.00 0.28 0.24 0.00 0.02 15.17 0.00 0.00 83.46 05:34:05 PM 0 0.82 0.00 0.28 0.02 0.00 0.01 15.78 0.00 0.00 83.10 05:34:05 PM 1 0.83 0.00 0.29 0.46 0.00 0.02 14.60 0.00 0.00 83.80
-
mpstat -P ALL 1 5
每秒输出一次所有处理器的统计信息,共输出 5 次。 这个命令要划重点,很实用,观察cpu的负载用这个会很有用。可以直观的看到每颗cpu的性能信息以及平均负载情况Linux 3.10.0-1160.76.1.el7.x86_64 (instance-20221010-2157) 01/21/2024 _x86_64_ (2 CPU) 05:35:46 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 05:35:47 PM all 0.98 0.00 0.00 0.00 0.00 0.00 42.44 0.00 0.00 56.59 05:35:47 PM 0 1.49 0.00 0.00 0.00 0.00 0.00 71.64 0.00 0.00 26.87 05:35:47 PM 1 0.72 0.00 0.00 0.00 0.00 0.00 28.26 0.00 0.00 71.01 05:35:47 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 05:35:48 PM all 0.00 0.00 0.54 0.00 0.00 0.00 15.68 0.00 0.00 83.78 05:35:48 PM 0 0.00 0.00 1.27 0.00 0.00 0.00 26.58 0.00 0.00 72.15 05:35:48 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 8.33 0.00 0.00 91.67 05:35:48 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 05:35:49 PM all 0.00 0.00 0.00 0.00 0.00 0.00 30.26 0.00 0.00 69.74 05:35:49 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 14.17 0.00 0.00 85.83 05:35:49 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 60.61 0.00 0.00 39.39 05:35:49 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 05:35:50 PM all 0.52 0.00 0.00 0.00 0.00 0.00 49.74 0.00 0.00 49.74 05:35:50 PM 0 0.00 0.00 0.00 0.00 0.00 0.00 30.94 0.00 0.00 69.06 05:35:50 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 100.00 0.00 0.00 0.00 05:35:50 PM CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle 05:35:51 PM all 0.50 0.00 0.50 0.00 0.00 0.00 25.13 0.00 0.00 73.87 05:35:51 PM 0 0.85 0.00 0.00 0.00 0.00 0.00 19.66 0.00 0.00 79.49 05:35:51 PM 1 0.00 0.00 0.00 0.00 0.00 0.00 32.50 0.00 0.00 67.50 Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle Average: all 0.41 0.00 0.21 0.00 0.00 0.00 32.82 0.00 0.00 66.56 Average: 0 0.38 0.00 0.19 0.00 0.00 0.00 28.92 0.00 0.00 70.51 Average: 1 0.22 0.00 0.00 0.00 0.00 0.00 37.53 0.00 0.00 62.25
mpstat -P 1
输出第二颗cpu的负载信息,若将1改成0 ,则输出第一颗的,依次类推
iostat:用于显示系统的 I/O 统计信息,包括磁盘和设备的使用情况。
-
iostat
直接输入iostat,会输出cpu的平均负载,以及cpu用于等待io请求完成的时间和 每秒读和写 扇区的数量。avg-cpu: %user %nice %system %iowait %steal %idle 0.83 0.00 0.30 0.24 15.17 83.46 Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn sda 1.01 17.07 6.21 267116608 97161480
-
iostat -c 1 5
每秒输出一次统计信息,共输出 5 次。Linux 3.10.0-1160.76.1.el7.x86_64 (instance-20221010-2157) 01/21/2024 _x86_64_ (2 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.83 0.00 0.30 0.24 15.17 83.46 avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.00 0.00 0.50 99.50 avg-cpu: %user %nice %system %iowait %steal %idle 0.00 0.00 0.56 0.00 8.38 91.06 avg-cpu: %user %nice %system %iowait %steal %idle 0.63 0.00 0.00 0.00 25.32 74.05 avg-cpu: %user %nice %system %iowait %steal %idle 0.47 0.00 0.00 0.00 56.60 42.92
-
iostat -p ALL
,显示每个活动磁盘的进程 I/O 统计信息。sda 1.01 17.07 6.21 267116608 97161968 sda1 0.00 0.00 0.00 5191 0 sda2 0.05 0.16 0.31 2464060 4890020 sda3 0.96 16.91 5.90 264643044 92271948 loop0 0.00 0.00 0.00 0 0 loop1 0.00 0.00 0.00 0 0 loop2 0.00 0.00 0.00 0 0 loop3 0.00 0.00 0.00 0 0 loop4 0.00 0.00 0.00 0 0 loop5 0.00 0.00 0.00 0 0 loop6 0.00 0.00 0.00 0 0 loop7 0.00 0.00 0.00 0 0
iostat -h
帮助命令
pidstat:用于显示与指定进程相关的统计信息
-
pidstat
直接输入,屏幕上会输出活动进程的统计信息Linux 3.10.0-1160.76.1.el7.x86_64 (instance-20221010-2157) 01/21/2024 _x86_64_ (2 CPU) 05:51:30 PM UID PID %usr %system %guest %CPU CPU Command 05:51:30 PM 0 1 0.01 0.03 0.00 0.04 1 systemd 05:51:30 PM 0 2 0.00 0.00 0.00 0.00 1 kthreadd 05:51:30 PM 0 6 0.00 0.03 0.00 0.03 0 ksoftirqd/0 05:51:30 PM 0 7 0.00 3.59 0.00 3.59 0 migration/0 05:51:30 PM 0 8 0.00 0.00 0.00 0.00 1 rcu_bh 05:51:30 PM 0 9 0.00 0.07 0.00 0.07 1 rcu_sched 05:51:30 PM 0 11 0.00 0.60 0.00 0.60 0 watchdog/0 05:51:30 PM 0 12 0.00 0.23 0.00 0.23 1 watchdog/1 05:51:30 PM 0 13 0.00 1.68 0.00 1.68 1 migration/1 05:51:30 PM 0 14 0.00 0.02 0.00 0.02 1 ksoftirqd/1 05:51:30 PM 0 16 0.00 0.00 0.00 0.00 1 kworker/1:0H 05:51:30 PM 0 18 0.00 0.00 0.00 0.00 1 kdevtmpfs 05:51:30 PM 0 20 0.00 0.00 0.00 0.00 1 khungtaskd
-
pidstat -p PID
显示指定进程号的详细统计信息。比如我这里输入sftp的进程号,就会输出sftp进程相关的使用信息[root@instance-20221010-2157 ~]# pidstat -p 18698 Linux 3.10.0-1160.76.1.el7.x86_64 (instance-20221010-2157) 01/21/2024 _x86_64_ (2 CPU) 05:52:55 PM UID PID %usr %system %guest %CPU CPU Command 05:52:55 PM 0 18698 0.00 0.00 0.00 0.00 1 sftp-server
以上命令都是常用命令,可以覆盖我们使用的大多情况了,更具体的可以使用-h 来查询相关的参数命令
创作不易,如果您觉得这篇文章对你有帮助,不妨给我点个赞,这将是我继续分享优质内容的动力。