Linux系统之sar系统状态统计工具的基本使用

举报
江湖有缘 发表于 2023/03/07 21:20:18 2023/03/07
【摘要】 Linux系统之sar系统状态统计工具的基本使用

@TOC

一、sar工具介绍

sar 命令很强大,是分析系统性能的重要工具之一,通过该命令可以全面地获取系统的 CPU、运行队列、磁盘读写(I/O)、分区(交换区)、内存、CPU 中断和网络等性能数据。

二、检查本地系统环境

1.检查系统版本

[root@docker ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

2.检查系统内核版本

[root@docker ~]# uname -r 
3.10.0-957.el7.x86_64

三、安装sar工具

1.检查yum仓库状态

检查yum仓库的各镜像源状态

[root@docker yum.repos.d]# yum repolist all |grep enable 
base/7/x86_64                        CentOS-7 - Base             enabled: 10,072
docker-ce-stable/7/x86_64            Docker CE Stable - x86_64   enabled:    210
extras/7/x86_64                      CentOS-7 - Extras           enabled:    515
updates/7/x86_64                     CentOS-7 - Updates          enabled:  4,734


2.安装sar

sar的软件包名称为sysstat,直接使用yum安装即可。

[root@docker yum.repos.d]# yum -y install sysstat
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: mirrors.bupt.edu.cn
 * extras: mirrors.bupt.edu.cn
 * updates: mirrors.bupt.edu.cn
Resolving Dependencies
--> Running transaction check
---> Package sysstat.x86_64 0:10.1.5-20.el7_9 will be installed
--> Processing Dependency: libsensors.so.4()(64bit) for package: sysstat-10.1.5-20.el7_9.x86_64
--> Running transaction check
---> Package lm_sensors-libs.x86_64 0:3.4.0-8.20160601gitf9185e5.el7 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

====================================================================================================================================================
 Package                            Arch                      Version                                              Repository                  Size
====================================================================================================================================================
Installing:
 sysstat                            x86_64                    10.1.5-20.el7_9                                      updates                    315 k
Installing for dependencies:
 lm_sensors-libs                    x86_64                    3.4.0-8.20160601gitf9185e5.el7                       base                        42 k

Transaction Summary
====================================================================================================================================================
Install  1 Package (+1 Dependent package)

Total download size: 357 k
Installed size: 1.2 M
Downloading packages:
(1/2): lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64.rpm                                                             |  42 kB  00:00:00     
(2/2): sysstat-10.1.5-20.el7_9.x86_64.rpm                                                                                    | 315 kB  00:00:00     
----------------------------------------------------------------------------------------------------------------------------------------------------
Total                                                                                                               1.3 MB/s | 357 kB  00:00:00     
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Warning: RPMDB altered outside of yum.
** Found 2 pre-existing rpmdb problem(s), 'yum check' output follows:
automake-1.13.4-3.el7.noarch has missing requires of autoconf >= ('0', '2.65', None)
libtool-2.4.2-22.el7_3.x86_64 has missing requires of autoconf
  Installing : lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64                                                                            1/2 
  Installing : sysstat-10.1.5-20.el7_9.x86_64                                                                                                   2/2 
  Verifying  : sysstat-10.1.5-20.el7_9.x86_64                                                                                                   1/2 
  Verifying  : lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64                                                                            2/2 

Installed:
  sysstat.x86_64 0:10.1.5-20.el7_9                                                                                                                  

Dependency Installed:
  lm_sensors-libs.x86_64 0:3.4.0-8.20160601gitf9185e5.el7                                                                                           

Complete!

四、sar命令的基本语法

1.sar命令的帮助

在Linux系统中,查看sar命令的help帮助信息。

[root@docker yum.repos.d]# sar -h
Usage: sar [ options ] [ <interval> [ <count> ] ]
Main options and reports:
	-b	I/O and transfer rate statistics
	-B	Paging statistics
	-d	Block device statistics
	-F [ MOUNT ]
		Filesystems statistics
	-H	Hugepages utilization statistics
	-I { <int> | SUM | ALL | XALL }
		Interrupts statistics
	-m { <keyword> [,...] | ALL }
		Power management statistics
		Keywords are:
		CPU	CPU instantaneous clock frequency
		FAN	Fans speed
		FREQ	CPU average clock frequency
		IN	Voltage inputs
		TEMP	Devices temperature
		USB	USB devices plugged into the system
	-n { <keyword> [,...] | ALL }
		Network statistics
		Keywords are:
		DEV	Network interfaces
		EDEV	Network interfaces (errors)
		NFS	NFS client
		NFSD	NFS server
		SOCK	Sockets	(v4)
		IP	IP traffic	(v4)
		EIP	IP traffic	(v4) (errors)
		ICMP	ICMP traffic	(v4)
		EICMP	ICMP traffic	(v4) (errors)
		TCP	TCP traffic	(v4)
		ETCP	TCP traffic	(v4) (errors)
		UDP	UDP traffic	(v4)
		SOCK6	Sockets	(v6)
		IP6	IP traffic	(v6)
		EIP6	IP traffic	(v6) (errors)
		ICMP6	ICMP traffic	(v6)
		EICMP6	ICMP traffic	(v6) (errors)
		UDP6	UDP traffic	(v6)
	-q	Queue length and load average statistics
	-r	Memory utilization statistics
	-R	Memory statistics
	-S	Swap space utilization statistics
	-u [ ALL ]
		CPU utilization statistics
	-v	Kernel table statistics
	-w	Task creation and system switching statistics
	-W	Swapping statistics
	-y	TTY device statistics

2.sar命令选项的解释

sar命令常用选项的解释

-A:显示所有的报告信息;
-b:显示I/O速率;
-B:显示换页状态;
-c:显示进程创建活动;
-d:显示每个块设备的状态;
-e:设置显示报告的结束时间;
-f:从指定文件提取报告;
-i:设状态信息刷新的间隔时间;
-n: 报告网络统计信息。
-P:报告每个CPU的状态;
-R:显示内存状态;
-u:显示CPU利用率;
-v:显示索引节点,文件和其他内核表的状态;
-w:显示交换分区状态;
-x:显示给定进程的状态。

五、sar工具的日常基本使用

1.显示系统内核信息

显示索引节点,文件和其他内核表的状态。

[root@docker yum.repos.d]# sar -v
Linux 3.10.0-957.el7.x86_64 (docker) 	03/07/2023 	_x86_64_	(4 CPU)

2.统计cpu的使用情况

如果想要查看系统 CPU 的整体负载状况,每 5 秒统计一次,统计 10 次,可以执行如下命令:

[root@docker yum.repos.d]# sar -u 5 10
Linux 3.10.0-957.el7.x86_64 (docker) 	03/07/2023 	_x86_64_	(4 CPU)

07:48:06 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:48:11 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
07:48:16 PM     all      0.00      0.00      0.00      0.05      0.00     99.95
07:48:21 PM     all      0.00      0.00      0.05      0.00      0.00     99.95
07:48:26 PM     all      0.05      0.00      0.00      0.00      0.00     99.95
07:48:31 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
07:48:36 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
07:48:41 PM     all      0.00      0.00      0.05      0.00      0.00     99.95
07:48:46 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
07:48:51 PM     all      0.00      0.00      0.00      0.00      0.00    100.00
07:48:56 PM     all      0.00      0.00      0.05      0.00      0.00     99.95
Average:        all      0.01      0.00      0.02      0.01      0.00     99.97

%user:用于表示用户模式下消耗的 CPU 时间的比例;
%nice:通过 nice 改变了进程调度优先级的进程,在用户模式下消耗的 CPU 时间的比例;
%system:系统模式下消耗的 CPU 时间的比例;
%iowait:CPU 等待磁盘 I/O 导致空闲状态消耗的时间比例;
%steal:利用 Xen 等操作系统虚拟化技术,等待其它虚拟 CPU 计算占用的时间比例;
%idle:CPU 空闲时间比例。

3.统计系统磁盘的读写性能

如果需要统计磁盘的性能状况,每5秒统计一次,统计6次,可使用以下命令:

 sar -d 5 6
[root@docker yum.repos.d]#  sar -d 5 6
Linux 3.10.0-957.el7.x86_64 (docker) 	03/07/2023 	_x86_64_	(4 CPU)

07:56:46 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:56:51 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:56:51 PM    dev8-0      0.40      0.00      2.80      7.00      0.05    131.00    131.00      5.24
07:56:51 PM  dev253-0      0.20      0.00      2.80     14.00      0.05    262.00    262.00      5.24
07:56:51 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:56:51 PM  dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

07:56:51 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:56:56 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:56:56 PM    dev8-0      0.20      0.00      1.60      8.00      0.01     37.00     37.00      0.74
07:56:56 PM  dev253-0      0.20      0.00      1.60      8.00      0.01     37.00     37.00      0.74
07:56:56 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:56:56 PM  dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

07:56:56 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:57:01 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:01 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:01 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:01 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:01 PM  dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

07:57:01 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:57:06 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:06 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:06 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:06 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:06 PM  dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

07:57:06 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:57:11 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:11 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:11 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:11 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:11 PM  dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

07:57:11 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:57:16 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:16 PM    dev8-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:16 PM  dev253-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:16 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:57:16 PM  dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:      dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:       dev8-0      0.10      0.00      0.73      7.33      0.01     99.67     99.67      1.00
Average:     dev253-0      0.07      0.00      0.73     11.00      0.01    149.50    149.50      1.00
Average:     dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

tps:每秒从物理磁盘 I/O 的次数。注意,多个逻辑请求会被合并为一个 I/O 磁盘请求,一次传输的大小是不确定的;
rd_sec/s:每秒读扇区的次数;
wr_sec/s:每秒写扇区的次数;
avgrq-sz:平均每次设备 I/O 操作的数据大小(扇区);
avgqu-sz:磁盘请求队列的平均长度;
await:从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1 秒=1000 毫秒);
svctm:系统处理每次请求的平均时间,不包括在请求队列中消耗的时间;
%util:I/O 请求占 CPU 的百分比,比率越大,说明越饱和。

4.统计内存的使用情况

想要查看系统内存使用情况,每隔4秒统计一次,统计3次:

[root@docker yum.repos.d]# sar -r 4 3
Linux 3.10.0-957.el7.x86_64 (docker) 	03/07/2023 	_x86_64_	(4 CPU)

08:00:29 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
08:00:33 PM    536796   1344960     71.47      3140    905316   1223900     30.76    597084    557088         4
08:00:37 PM    536796   1344960     71.47      3140    905316   1223900     30.76    597092    557088         4
08:00:41 PM    536796   1344960     71.47      3140    905316   1223900     30.76    597092    557088         4
Average:       536796   1344960     71.47      3140    905316   1223900     30.76    597089    557088         4

kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间
kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间
%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比
kbbuffers和kbcached:这两个值就是free命令中的buffer和cache
kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap)
%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比

5.统计网络的使用情况

sar -n { DEV | EDEV | NFS | NFSD | SOCK | ALL },sar 提供六种不同的语法选项来显示网络信息。

DEV 显示网络接口信息。
EDEV 显示关于网络错误的统计数据。
NFS 统计活动的NFS客户端的信息。
NFSD 统计NFS服务器的信息。
SOCK 显示套接字信息。
ALL 显示所有5个开关,它们可以单独或者一起使用。

统计网络接口的情况,每隔10秒统计一次,统计三次,可使用以下命令:

[root@docker yum.repos.d]# sar -n DEV 10 3
Linux 3.10.0-957.el7.x86_64 (docker) 	03/07/2023 	_x86_64_	(4 CPU)

08:04:17 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:04:27 PM br-3944f4a2d80c      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:27 PM br-6f43f91e4cf7      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:27 PM br-cb2953f35dc8      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:27 PM      eth0      2.30      0.50      0.28      0.05      0.00      0.00      0.00
08:04:27 PM        lo      0.10      0.10      0.01      0.01      0.00      0.00      0.00
08:04:27 PM br-c468faf400ff      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:27 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:27 PM vethfe0e4d1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

08:04:27 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:04:37 PM br-3944f4a2d80c      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:37 PM br-6f43f91e4cf7      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:37 PM br-cb2953f35dc8      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:37 PM      eth0      2.50      0.60      0.15      0.13      0.00      0.00      0.00
08:04:37 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:37 PM br-c468faf400ff      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:37 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:37 PM vethfe0e4d1      0.00      0.00      0.00      0.00      0.00      0.00      0.00

08:04:37 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
08:04:47 PM br-3944f4a2d80c      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:47 PM br-6f43f91e4cf7      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:47 PM br-cb2953f35dc8      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:47 PM      eth0      1.40      0.20      0.09      0.10      0.00      0.00      0.00
08:04:47 PM        lo      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:47 PM br-c468faf400ff      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:47 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
08:04:47 PM vethfe0e4d1      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
Average:    br-3944f4a2d80c      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    br-6f43f91e4cf7      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    br-cb2953f35dc8      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:         eth0      2.07      0.43      0.17      0.09      0.00      0.00      0.00
Average:           lo      0.03      0.03      0.00      0.00      0.00      0.00      0.00
Average:    br-c468faf400ff      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:      docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    vethfe0e4d1      0.00      0.00      0.00      0.00      0.00      0.00      0.00
[root@docker yum.repos.d]# 

IFACE:网络接口。
rxpck/s:每秒接收的报文数。
txpck/s:每秒发送的报文数。
rxkB/s:每秒接收的字节数,rxkB/s * 1024 / rxpck/s < 60B,意味着收到的是小包。
txkB/s:每秒发送的字节数。
rxcmp/s:每秒接收的压缩数据包数。
txcmp/s:每秒发送的压缩数据包数。
rxmcst/s:每秒接收的多播数据包数。
%ifutil:网络接口的利用率百分比,对于半双工接口,利用率使用rxkB/s和txkB/s之和作为接口速度的百分比计算。对于全双工,这是rxkB/s或txkB/s中的较大值。
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。