#sar 命令
sar(System Activity Reporter 系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘 I/O、CPU 效率、内存使用状况、进程活动及 IPC 有关的活动等。
sar 命令获得整个系统性能的报告,有助于定位系统性能的瓶颈,同时有助于找出性能问题的解决方法。
Linux 内核维护着一些内部计数器,这些计数器包含了所有的请求及其完成时间和 I/O 块数等信息,sar 命令从这些信息中计算出请求的利用率和比例,以便找出瓶颈所在。
sar 命令主要的用途是生成某段时间内所有活动的报告,因此必需确保 sar 命令在适当的时间进行数据采集。
sar 命令来自于 sysstat 工具包,如果提示 sar 命令不存在,需先安装 sysstat。
#命令参数
用法: sar [ 选项 ] [ <时间间隔> [ <次数> ] ]
主选项和报告:
-b I/O 和传输速率信息状况
-B 分页状况
-d 块设备状况
-I { <中断> | SUM | ALL | XALL }
中断信息状况
-m 电源管理信息状况
-n { <关键词> [,…] | ALL }
网络统计信息
关键词可以是:
DEV 网卡
EDEV 网卡 (错误)
NFS NFS 客户端
NFSD NFS 服务器
SOCK Sockets (套接字) (v4)
IP IP 流 (v4)
EIP IP 流 (v4) (错误)
ICMP ICMP 流 (v4)
EICMP ICMP 流 (v4) (错误)
TCP TCP 流 (v4)
ETCP TCP 流 (v4) (错误)
UDP UDP 流 (v4)
SOCK6 Sockets (套接字) (v6)
IP6 IP 流 (v6)
EIP6 IP 流 (v6) (错误)
ICMP6 ICMP 流 (v6)
EICMP6 ICMP 流 (v6) (错误)
UDP6 UDP 流 (v6)
-q 队列长度和平均负载
-r 内存利用率
-R 内存状况
-S 交换空间利用率
-u [ ALL ]
CPU 利用率
-v Kernel table 状况
-w 任务创建与系统转换统计信息
-W 交换信息
-y TTY 设备状况
-o {<文件路径>}
将命令结果以二进制格式存放在指定文件中
统计网络信息
[root@localhost ~]# sar -n DEV 1 3
Linux 3.10.0-1127.el7.x86_64 (localhost.localdomain) 2023年05月02日 x86_64 (8 CPU)
13时47分33秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
13时47分34秒 eth0 2.00 0.00 0.27 0.00 0.00 0.00 0.00
13时47分34秒 lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00
13时47分34秒 virbr0-nic 0.00 0.00 0.00 0.00 0.00 0.00 0.00
13时47分34秒 virbr0 0.00 0.00 0.00 0.00 0.00 0.00 0.00
13时47分34秒 IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s
13时47分35秒 eth0 2.00 2.00 0.12 0.31 0.00 0.00 0.