sar 命令很强大,是分析系统性能的重要工具之一,通过该命令可以全面地获取系统的 CPU、运行队列、磁盘读写(I/O)、分区(交换区)、内存、CPU 中断和网络等性能数据。
sar 命令的基本格式如下:
[root@localhost ~]# sar [options] [-o filename] interval [count]
此命令格式中,各个参数的含义如下:
sar命令选项 | 功能 |
---|---|
-A | 显示系统所有资源设备(CPU、内存、磁盘)的运行状况。 |
-u | 显示系统所有 CPU 在采样时间内的负载状态。 |
-P | 显示当前系统中指定 CPU 的使用情况。 |
-d | 显示系统所有硬盘设备在采样时间内的使用状态。 |
-r | 显示系统内存在采样时间内的使用情况。 |
-b | 显示缓冲区在采样时间内的使用情况。 |
-v | 显示 inode 节点、文件和其他内核表的统计信息。 |
-n | 显示网络运行状态,此选项后可跟 DEV(显示网络接口信息)、EDEV(显示网络错误的统计数据)、SOCK(显示套接字信息)和 FULL(等同于使用 DEV、EDEV和SOCK)等,有关更多的选项,可通过执行 man sar 命令查看。 |
-q | 显示运行列表中的进程数、进程大小、系统平均负载等。 |
-R | 显示进程在采样时的活动情况。 |
-y | 显示终端设备在采样时间的活动情况。 |
-w | 显示系统交换活动在采样时间内的状态。 |
有关 sar 命令更多可用的选项及功能,可通过执行 man sar 命令查看。
【例 1】
如果想要查看系统 CPU 的整理负载状况,每 3 秒统计一次,统计 5 次,可以执行如下命令:
[root@localhost ~]# sar -u 3 5 Linux 2.6.32-431.el6.x86_64 (localhost) 10/25/2019 _x86_64_(1 CPU) 06:18:23 AM CPU %user %nice %system %iowait%steal %idle 06:18:26 AM all 12.110.002.773.110.00 82.01 06:18:29 AM all6.550.002.070.000.00 91.38 06:18:32 AM all6.600.002.080.000.00 91.32 06:18:35 AM all 10.210.001.760.000.00 88.03 06:18:38 AM all8.710.001.740.000.00 89.55 Average:all8.830.002.090.630.00 88.46
此输出结果中,各个列表项的含义分别如下:
【例 2】
如果想要查看系统磁盘的读写性能,可执行如下命令:
[root@localhost ~]# sar -d 3 5 Linux 2.6.32-431.el6.x86_64 (localhost) 10/25/2019 _x86_64_(1 CPU) 06:36:52 AM DEV tpsrd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util 06:36:55 AMdev8-03.380.00502.26148.440.08 24.114.561.54 06:36:55 AM DEV tpsrd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util 06:36:58 AMdev8-01.490.00 29.85 20.000.001.750.750.11 06:36:58 AM DEV tpsrd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util 06:37:01 AMdev8-0 68.266.9653982.61790.933.22 47.233.54 24.17 06:37:01 AM DEV tpsrd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util 06:37:04 AMdev8-0111.69 3961.29154.84 36.851.059.423.44 38.43 06:37:04 AM DEV tpsrd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util 06:37:07 AMdev8-01.67136.002.67 83.200.016.206.001.00 Average:DEV tpsrd_sec/swr_sec/savgrq-szavgqu-sz await svctm %util Average: dev8-0 34.45781.10 9601.22301.360.78 22.743.50 12.07
此输出结果中,各个列表头的含义如下:
除此之外,如果想要查看系统内存使用情况,可以执行sar -r 5 3命令;如果要想查看网络运行状态,可执行sar -n DEV 5 3命令,等等。有关其它参数的用法,这里不再给出具体实例,有兴趣的读者可自行测试,观察运行结果。
以上是Linux sar命令详解之分析系统性能案例的详细内容。更多信息请关注PHP中文网其他相关文章!