searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

linux系统采集工具sar使用-网络和cpu采集

2024-06-11 08:55:41
18
0

sar(System Activity Reporter)是Linux下系统运行状态统计工具,提供了网卡流量、CPU使用、磁盘I/O、内存使用状况等信息的采集和展示,是系统监控和排障非常好用的工具。

  1. 安装
    sar工具在sysstat工具集里面, linux操作系统通常都包含这个安装包, centos可以用过yum install sysstat 进行安装 安装完成后通过sar -V查看有版本输出:

  2. 命令参数简介

       常用的命令参数简介如下

-a:文件读写情况
-A:所有报告的总和
-B:分页状况
-b:显示I/O和传送速率的统计信息
-c:输出进程统计信息,每秒创建的进程数
-d:块设备状况
-F [ MOUNT ]:文件系统统计信息
-H:交换空间利用率
-I { <中断> | SUM | ALL | XALL }:中断信息状况
-n:汇报网络情况
-P:设定CPU
-q:队列长度和平均负载
-R:输出内存页面的统计信息
-r [ ALL ]:输出内存和交换空间的统计信息
-S:交换空间利用率信息
-u [ ALL ]:输出CPU使用情况的统计信息
-v:输出inode、文件和其他内核表的统计信息
-W:输出系统交换活动信息
-w:任务创建与系统转换信息
-y:终端设备活动情况

3. 网络采集

 sar可以查看网卡的流量速率情况,使用命令 sar -n DEV  2, 其中2表示2s输出一次,屏幕会一直输出,直到主动停止

如果值需要采集3次, 后面加上参数10, 即sar -n DEV  2 3, 结束后输出采集的平均值:

[root@VM-0-9-centos ~]# sar -n DEV 2 3
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024 	(1 CPU)

02:36:38 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
02:36:40 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:36:40 PM      eth1      2.00      0.00      0.08      0.00      0.00      0.00      0.00      0.00
02:36:40 PM     veth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:36:40 PM      eth0      7.00      2.00      0.37      0.66      0.00      0.00      0.00      0.00
02:36:40 PM     veth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

02:36:40 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
02:36:42 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:36:42 PM      eth1      2.00      0.00      0.08      0.00      0.00      0.00      0.00      0.00
02:36:42 PM     veth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:36:42 PM      eth0      6.00      5.00      0.40      1.69      0.00      0.00      0.00      0.00
02:36:42 PM     veth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

02:36:42 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
02:36:44 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:36:44 PM      eth1      2.00      0.00      0.08      0.00      0.00      0.00      0.00      0.00
02:36:44 PM     veth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:36:44 PM      eth0      2.00      1.50      0.10      0.65      0.00      0.00      0.00      0.00
02:36:44 PM     veth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth1      2.00      0.00      0.08      0.00      0.00      0.00      0.00      0.00
Average:        veth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      5.00      2.83      0.29      1.00      0.00      0.00      0.00      0.00
Average:        veth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

字段说明 下面的average是在多次统计后的平均值

  • IFACE 本地网卡接口的名称
  • rxpck/s 每秒钟接受的数据包
  • txpck/s 每秒钟发送的数据库
  • rxKB/S 每秒钟接受的数据包大小,单位为KB
  • txKB/S 每秒钟发送的数据包大小,单位为KB
  • rxcmp/s 每秒钟接受的压缩数据包
  • txcmp/s 每秒钟发送的压缩包
  • rxmcst/s 每秒钟接收的多播数据包注意: sar采集网卡流量采集的所有网卡的,没有支持对指定网卡采集命令,当系统有很多网卡使用的不方便,
                 可以使用iftop或者vnstat工具代替

采集连接统计情况sar -n SOCK 2 2:

[root@VM-0-9-centos ~]# sar -n SOCK 2 
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024    (1 CPU)

02:39:03 PM    totsck    tcpsck    udpsck    rawsck   ip-frag    tcp-tw
02:39:05 PM       110         5         3         0         0         0
02:39:07 PM       110         5         3         0         0         0
02:39:09 PM       110         5         3         0         0         1
02:39:11 PM       110         5         3         0         0         1
^C

Average:          110         5         3         0         0         0
  • ip-frag 当前的IP分片的数目, 在排查性能和丢包时候比较有用
  • tcp-tw TCP套接字中处于TIME-WAIT状态的连接数量

 

4. cpu采集

  (1)CPU利用率

       使用sar -u,和top命令中的cpu指标意义是一样的。

[root@VM-0-9-centos ~]# sar  -u 2
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024 	 	(1 CPU)

02:50:01 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
02:50:03 PM     all      1.01      0.00      2.01      0.00      0.00     96.98
02:50:05 PM     all      0.51      0.00      1.02      0.51      0.00     97.97
^C

Average:        all      0.76      0.00      1.52      0.25      0.00     97.47

字段说明

  • %user #用户空间的CPU使用
  • %nice 改变过优先级的进程的CPU使用率
  • %system 内核空间的CPU使用率
  • %iowait CPU等待IO的百分比
  • %steal 虚拟机的虚拟机CPU使用的CPU
  • %idle 空闲的CPU
  • 在以上的显示当中,主要看%iowait和%idle,%iowait过高表示存在I/O瓶颈,即磁盘IO无法满足业务需求,如果%idle过低表示CPU使用率比较严重,需要结合内存使用等情况判断CPU是否瓶颈。

(2)CPU负载 使用sar -q,可以统计所有cpu的负载和运行进程的情况

[root@VM-0-9-centos ~]# sar  -q  1  2
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024 	(1 CPU)

02:52:10 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
02:52:11 PM         0       152      0.21      0.12      0.09         0
02:52:12 PM         0       151      0.21      0.12      0.09         0
Average:            0       152      0.21      0.12      0.09         0

字段说明

  • runq-sz 运行队列的长度(等待运行的进程数,每个核的CP不能超过3个)
  • plist-sz 进程列表中的进程(processes)和线程数(threads)的数量
  • ldavg-1 最后1分钟的CPU平均负载,即将多核CPU过去一分钟的负载相加再除以核心数得出的平均值,5分钟和15分钟以此类推
  • ldavg-5 最后5分钟的CPU平均负载
  • ldavg-15 最后15分钟的CPU平均负载

(3)中断

使用sar -I统计硬中端触发的数量, -I SUM表示所有的中断触发的总量,-I  ALL会输出每个中断号的统计

[root@VM-0-9-centos ~]# sar -I  SUM 1 2
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024 	(1 CPU)

02:59:42 PM      INTR    intr/s
02:59:43 PM       sum    454.00
02:59:44 PM       sum    500.00
Average:          sum    477.00
[root@VM-0-9-centos ~]# sar -I  ALL 1 2
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024 	(1 CPU)

03:00:03 PM      INTR    intr/s
03:00:04 PM       sum    561.00
03:00:04 PM         0      0.00
03:00:04 PM         1      0.00
03:00:04 PM         2      0.00
......

 

(4)上下文切换

使用sar -w(小写, -W是查看swap相关的)

[root@VM-0-9-centos ~]# sar  -w 2 2
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024 	(1 CPU)

03:03:55 PM    proc/s   cswch/s
03:03:57 PM     19.00   1252.00
03:03:59 PM      3.50   1038.00
Average:        11.25   1145.00
  • proc 新建任务数量
  • cswch 上下文切换次数

 

0条评论
作者已关闭评论
何****森
15文章数
1粉丝数
何****森
15 文章 | 1 粉丝
何****森
15文章数
1粉丝数
何****森
15 文章 | 1 粉丝
原创

linux系统采集工具sar使用-网络和cpu采集

2024-06-11 08:55:41
18
0

sar(System Activity Reporter)是Linux下系统运行状态统计工具,提供了网卡流量、CPU使用、磁盘I/O、内存使用状况等信息的采集和展示,是系统监控和排障非常好用的工具。

  1. 安装
    sar工具在sysstat工具集里面, linux操作系统通常都包含这个安装包, centos可以用过yum install sysstat 进行安装 安装完成后通过sar -V查看有版本输出:

  2. 命令参数简介

       常用的命令参数简介如下

-a:文件读写情况
-A:所有报告的总和
-B:分页状况
-b:显示I/O和传送速率的统计信息
-c:输出进程统计信息,每秒创建的进程数
-d:块设备状况
-F [ MOUNT ]:文件系统统计信息
-H:交换空间利用率
-I { <中断> | SUM | ALL | XALL }:中断信息状况
-n:汇报网络情况
-P:设定CPU
-q:队列长度和平均负载
-R:输出内存页面的统计信息
-r [ ALL ]:输出内存和交换空间的统计信息
-S:交换空间利用率信息
-u [ ALL ]:输出CPU使用情况的统计信息
-v:输出inode、文件和其他内核表的统计信息
-W:输出系统交换活动信息
-w:任务创建与系统转换信息
-y:终端设备活动情况

3. 网络采集

 sar可以查看网卡的流量速率情况,使用命令 sar -n DEV  2, 其中2表示2s输出一次,屏幕会一直输出,直到主动停止

如果值需要采集3次, 后面加上参数10, 即sar -n DEV  2 3, 结束后输出采集的平均值:

[root@VM-0-9-centos ~]# sar -n DEV 2 3
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024 	(1 CPU)

02:36:38 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
02:36:40 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:36:40 PM      eth1      2.00      0.00      0.08      0.00      0.00      0.00      0.00      0.00
02:36:40 PM     veth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:36:40 PM      eth0      7.00      2.00      0.37      0.66      0.00      0.00      0.00      0.00
02:36:40 PM     veth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

02:36:40 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
02:36:42 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:36:42 PM      eth1      2.00      0.00      0.08      0.00      0.00      0.00      0.00      0.00
02:36:42 PM     veth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:36:42 PM      eth0      6.00      5.00      0.40      1.69      0.00      0.00      0.00      0.00
02:36:42 PM     veth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

02:36:42 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
02:36:44 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:36:44 PM      eth1      2.00      0.00      0.08      0.00      0.00      0.00      0.00      0.00
02:36:44 PM     veth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
02:36:44 PM      eth0      2.00      1.50      0.10      0.65      0.00      0.00      0.00      0.00
02:36:44 PM     veth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:        IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s   %ifutil
Average:           lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth1      2.00      0.00      0.08      0.00      0.00      0.00      0.00      0.00
Average:        veth1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      5.00      2.83      0.29      1.00      0.00      0.00      0.00      0.00
Average:        veth0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

字段说明 下面的average是在多次统计后的平均值

  • IFACE 本地网卡接口的名称
  • rxpck/s 每秒钟接受的数据包
  • txpck/s 每秒钟发送的数据库
  • rxKB/S 每秒钟接受的数据包大小,单位为KB
  • txKB/S 每秒钟发送的数据包大小,单位为KB
  • rxcmp/s 每秒钟接受的压缩数据包
  • txcmp/s 每秒钟发送的压缩包
  • rxmcst/s 每秒钟接收的多播数据包注意: sar采集网卡流量采集的所有网卡的,没有支持对指定网卡采集命令,当系统有很多网卡使用的不方便,
                 可以使用iftop或者vnstat工具代替

采集连接统计情况sar -n SOCK 2 2:

[root@VM-0-9-centos ~]# sar -n SOCK 2 
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024    (1 CPU)

02:39:03 PM    totsck    tcpsck    udpsck    rawsck   ip-frag    tcp-tw
02:39:05 PM       110         5         3         0         0         0
02:39:07 PM       110         5         3         0         0         0
02:39:09 PM       110         5         3         0         0         1
02:39:11 PM       110         5         3         0         0         1
^C

Average:          110         5         3         0         0         0
  • ip-frag 当前的IP分片的数目, 在排查性能和丢包时候比较有用
  • tcp-tw TCP套接字中处于TIME-WAIT状态的连接数量

 

4. cpu采集

  (1)CPU利用率

       使用sar -u,和top命令中的cpu指标意义是一样的。

[root@VM-0-9-centos ~]# sar  -u 2
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024 	 	(1 CPU)

02:50:01 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
02:50:03 PM     all      1.01      0.00      2.01      0.00      0.00     96.98
02:50:05 PM     all      0.51      0.00      1.02      0.51      0.00     97.97
^C

Average:        all      0.76      0.00      1.52      0.25      0.00     97.47

字段说明

  • %user #用户空间的CPU使用
  • %nice 改变过优先级的进程的CPU使用率
  • %system 内核空间的CPU使用率
  • %iowait CPU等待IO的百分比
  • %steal 虚拟机的虚拟机CPU使用的CPU
  • %idle 空闲的CPU
  • 在以上的显示当中,主要看%iowait和%idle,%iowait过高表示存在I/O瓶颈,即磁盘IO无法满足业务需求,如果%idle过低表示CPU使用率比较严重,需要结合内存使用等情况判断CPU是否瓶颈。

(2)CPU负载 使用sar -q,可以统计所有cpu的负载和运行进程的情况

[root@VM-0-9-centos ~]# sar  -q  1  2
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024 	(1 CPU)

02:52:10 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
02:52:11 PM         0       152      0.21      0.12      0.09         0
02:52:12 PM         0       151      0.21      0.12      0.09         0
Average:            0       152      0.21      0.12      0.09         0

字段说明

  • runq-sz 运行队列的长度(等待运行的进程数,每个核的CP不能超过3个)
  • plist-sz 进程列表中的进程(processes)和线程数(threads)的数量
  • ldavg-1 最后1分钟的CPU平均负载,即将多核CPU过去一分钟的负载相加再除以核心数得出的平均值,5分钟和15分钟以此类推
  • ldavg-5 最后5分钟的CPU平均负载
  • ldavg-15 最后15分钟的CPU平均负载

(3)中断

使用sar -I统计硬中端触发的数量, -I SUM表示所有的中断触发的总量,-I  ALL会输出每个中断号的统计

[root@VM-0-9-centos ~]# sar -I  SUM 1 2
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024 	(1 CPU)

02:59:42 PM      INTR    intr/s
02:59:43 PM       sum    454.00
02:59:44 PM       sum    500.00
Average:          sum    477.00
[root@VM-0-9-centos ~]# sar -I  ALL 1 2
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024 	(1 CPU)

03:00:03 PM      INTR    intr/s
03:00:04 PM       sum    561.00
03:00:04 PM         0      0.00
03:00:04 PM         1      0.00
03:00:04 PM         2      0.00
......

 

(4)上下文切换

使用sar -w(小写, -W是查看swap相关的)

[root@VM-0-9-centos ~]# sar  -w 2 2
Linux 5.4.119-19-0008 (VM-0-9-centos) 	06/07/2024 	(1 CPU)

03:03:55 PM    proc/s   cswch/s
03:03:57 PM     19.00   1252.00
03:03:59 PM      3.50   1038.00
Average:        11.25   1145.00
  • proc 新建任务数量
  • cswch 上下文切换次数

 

文章来自个人专栏
C语言
5 文章 | 1 订阅
0条评论
作者已关闭评论
作者已关闭评论
0
0