关于sar命令的解释1.0

前言:

关于sar命令的解释说明:

sar(System Activity Reporter 系统活动情况报告)是目前 Linux 上最为全面的系统性能分析工具之一,可以从多方面对系统的活动进行报告,包括:文件的读写情况、系统调用的使用情况、磁盘 I/O、CPU 效率、内存使用状况、进程活动及 IPC 有关的活动等。
我们可以使用sar命令来获得整个系统性能的报告。这有助于我们定位系统性能的瓶颈,并且有助于我们找出这些烦人的性能问题的解决方法。
Linux 内核维护着一些内部计数器,这些计数器包含了所有的请求及其完成时间和 I/O 块数等信息,sar命令从所有的这些信息中计算出请求的利用率和比例,以便找出瓶颈所在。
sar命令主要的用途是生成某段时间内所有活动的报告,因此必需确保sar命令在适当的时间进行数据采集(而不是在午餐时间或者周末)
原文地址:https://shockerli.net/post/linux-tool-sar/

sysstat工具:

sysstat是 Linux系统中的常用工具包。主要用途是用于观察服务的负载情况,例如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。

sysstat 工具包中包含两类工具:

即时查看工具iostat、mpstat、sar
累计统计工具sar

也就是说,sar具有这两种功能。因此,sar是 sysstat 中的核心工具

注意:sar命令来自于 sysstat工具包,如果提示 sar命令不存在,需先安装 sysstat
命令:yum install -y 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 {<文件路径>}
       将命令结果以二进制格式存放在指定文件

具体使用场景:

1、网络信息统计

sar -n <关键词> [ <时间间隔> [ <次数> ] ]

举例

[root@server ~]# sar -n DEV 3 5
Linux 3.10.0-862.el7.x86_64 (server) 	2020年09月16日 	_x86_64_	(1 CPU)

20时54分12秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
20时54分15秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
20时54分15秒     ens33      1.34      0.33      0.08      0.06      0.00      0.00      0.00

20时54分15秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
20时54分18秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
20时54分18秒     ens33      1.34      0.33      0.08      0.13      0.00      0.00      0.00

20时54分18秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
20时54分21秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
20时54分21秒     ens33      0.34      0.34      0.02      0.13      0.00      0.00      0.00

20时54分21秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
20时54分24秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
20时54分24秒     ens33      0.33      0.33      0.02      0.13      0.00      0.00      0.00

20时54分24秒     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
20时54分27秒        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
20时54分27秒     ens33      0.34      0.34      0.02      0.13      0.00      0.00      0.00

平均时间:     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
平均时间:        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
平均时间:     ens33      0.74      0.33      0.04      0.11      0.00      0.00      0.00

命令中 3 5 表示每3秒钟取 1 次值,一共取 5 次。

命令执行后会列出每个网卡这 5 次取值的平均数据,根据实际情况来确定带宽跑满的网卡名称,默认情况下 eth0 为内网网卡,eth1 为外网网卡

2、CPU使用情况

sar -u [ <时间间隔> [ <次数> ] ]

[root@server ~]# sar -u 2 3
Linux 3.10.0-862.el7.x86_64 (server) 	2020年09月16日 	_x86_64_	(1 CPU)

20时58分49秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
20时58分51秒     all      0.00      0.00      0.00      0.00      0.00    100.00
20时58分53秒     all      0.00      0.00      0.00      0.00      0.00    100.00
20时58分55秒     all      0.00      0.00      0.50      0.00      0.00     99.50
平均时间:     all      0.00      0.00      0.17      0.00      0.00     99.83

命令中 2 3 表示每2秒钟取 1 次值,一共取 3 次
输出项说明:

CPU:all 表示统计信息为所有 CPU 的平均值。
%user:显示在用户级别(application)运行使用 CPU 总时间的百分比
%nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比
%system:在核心级别(kernel)运行所使用 CPU 总时间的百分比
%iowait:显示用于等待I/O操作占用 CPU 总时间的百分比
%steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比
%idle:显示 CPU 空闲时间占用 CPU 总时间的百分比
1. 若 %iowait 的值过高,表示硬盘存在I/O瓶颈
2. 若 %idle 的值高但系统响应慢时,有可能是 CPU 等待分配内存,此时应加大内存容量
3. 若 %idle 的值持续低于1,则系统的 CPU 处理能力相对较低,表明系统中最需要解决的资源是 CPU

性能问题排查技巧

怀疑 CPU 存在瓶颈,可用sar -u和sar -q等来查看

怀疑内存存在瓶颈,可用sar -B、sar -r和sar -W等来查看

怀疑 I/O 存在瓶颈,可用sar -b、sar -u和sar -d等来查看

注:个人学习使用,侵权联系删除

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

深度学习0407

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值