linux基础知识-sar详解

1.前言

sar(System Activity Reporter系统活动情况报告)是目前Linux比较全的系统性能分析工具之一,可以从多方面对系统的活动进行报告 ,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状态、进程活动有IPC有关的活动等。
sar 还可以配置配置信息收集历史指标。

2.sar配置说明

sar是sysstat软件包的一部分,如果系统没有安装的话,可以使用命令进行安装

yum -y install sysstat #安装sar工具

安装完成后,基本配置文件路径“/etc/sysconfig”下的“sysstat”文件。默认的配置文件信息如下:

[root@iam ~]# cat /etc/sysconfig/sysstat
# sysstat-10.1.5 configuration file.

# How long to keep log files (in days). 将性能日志文件保留多长时间,默认值是28天
# If value is greater than 28, then log files are kept in
# multiple directories, one for each month.
HISTORY=28  

# Compress (using gzip or bzip2) sa and sar files older than (in days): 确定sar文件在多少天后压缩文件,默认值为31天。
COMPRESSAFTER=31  

# Parameters for the system activity data collector (see sadc manual page) 系统活动数据收集保存参数
# which are used for the generation of log files.
SADC_OPTIONS="-S DISK"

# Compression program to use. 数据文件压缩方式默认是bzip2
ZIP="bzip2"

通过上面信息,我们可以看到默认值有收集数据保存时长,什么时候开始压缩,压缩方式以及保存方式等信息。这些信息可以根据系统性能监控指标的需求自定义进行修改。
另外收集数据的时间间隔可以通过命令进行查看修改

[root@iam ~]# cat /etc/cron.d/sysstat   #查看定时任务
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib64/sa/sa1 1 1
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib64/sa/sa2 -A
[root@iam ~]# vim /etc/cron.d/sysstat #修改定时任务,自定义收集信息的时间间隔

3.sar使用说明

我们还是先用man来看一下对应的文档说明:
linux基础知识-sar详解_第1张图片
我给稍微整理了一下形成一个导图,可以快速的了解其结构与详情:
![sar (1).png](https://img-blog.csdnimg.cn/img_convert/4a25f82db7ce97c241b716eaef38d29b.png#averageHue=#fdfcfa&clientId=u6d4039ac-98ab-4&from=ui&id=ucc8aac08&name=sar (1).png&originHeight=1744&originWidth=1305&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=202040&status=done&style=none&taskId=udc70a2e3-149e-418d-b35e-da3d1b4bfcd&title=)

3.1. sar语法:

sar [options] [-A] [-o file] [[t] [n]]
options->选项
-A->显示所有的报告信息
-o file->file是文件路径及文件名,将命令结果以二进制格式存放在指定文件中
t->时间间隔
n->次数

3.2.sar选项:

  • -b —> I/O传输速率信息状态
  • -B —> 分布状况
  • -c —> 进程创建活动
  • -d —> 块设备状况
  • -e —> 设置显示报告的结果时间
  • -m —> 电源管理信息状况
  • -f —> 从指定文件提取报告
  • -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)
UDP ->UDP流(v4)
SOCK6 ->Sockets(套接字)(v6)
IP6 ->IP流(v6)
EIP6 ->IP流(错误)(v6)
ICMP6 ->ICMP流(v6)
EICMP6 ->ICMP流(错误)(v6)
UDP6 ->UDP流(v6)

  • -P —> 报告每个CPU的状态
  • -q —> 队列长度和平均负载
  • -r —> 内存利用率
  • -R —> 内存状态
  • -S —> 交换空间利用率
  • -u [ ALL ] —> CPU利用率
  • -v —> Kernel table状况
  • -w —> 任务创建与系统转换统计信息
  • -W —> 交换信息
  • -y —> TTY设备状态
  • -x —> 显示给定进程的状态

3.3. 示例

示例1.

每2s采样一次,连续采样3次,报告I/O传输速率统计情况
命令及结果:
**sar -b 2 3 **

[root@iam ~]# sar -b 2 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

03:45:48 PM       tps      rtps      wtps   bread/s   bwrtn/s
03:45:50 PM      9.50      1.00      8.50     12.00   2382.00
03:45:52 PM      5.50      0.00      5.50      0.00    119.00
03:45:54 PM      7.50      0.00      7.50      0.00    108.50
Average:         7.50      0.33      7.17      4.00    869.83
[root@iam ~]# 

输出说明:

tps->每秒物理设备的I/O传输次数总量
rtps->每秒从物理设备读取的数据次数总量
wtps->每秒写入物理设备的数据次数总量
bread/s-> 每秒从设备读取的数据总量,以块为计量单位。块相当于扇区,因此大小为512字节
bwrth/s->每秒写入物理设备的块总数

示例2

查看系统swap分区的统计信息
命令及结果:
sar -W 1 3

[root@iam ~]# sar -W 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

08:18:24 PM  pswpin/s pswpout/s
08:18:25 PM      0.00      0.00
08:18:26 PM      0.00      0.00
08:18:27 PM      0.00      0.00
Average:         0.00      0.00
[root@iam ~]# 

输出说明:

pswpin/s-> 每秒从交换分区到系统的交换页面(swap page)数量
pswpott/s-> 每秒从系统交换到swap的交换页面(swap page)的数量

示例3.

内存分页统计状况
命令及结果:
sar -B 1 3

[root@iam ~]# sar -B 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

04:31:37 PM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
04:31:38 PM   4096.00    392.00   4419.00      0.00  21896.00   9004.00      0.00   8606.00     95.58
04:31:39 PM    524.00    268.00   2875.00      1.00  21645.00   9011.00      0.00   8590.00     95.33
04:31:40 PM   5724.00 128080.00  18738.00      2.00  26118.00   8993.00      0.00   8646.00     96.14
Average:      3448.00  42913.33   8677.33      1.00  23219.67   9002.67      0.00   8614.00     95.68
[root@iam ~]# 

输出说明:

pgpgpgin/s->表示每秒从磁盘或SWAP置换到内存的字节数(KB)
pgpgout/s->表示每秒从内存置换到磁盘或SWAP的字节数(KB)
fault/s->每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)
majflt/s->每秒钟产生的主缺页数
pgfree/s->每秒被放入空闲队列中的页个数
pgscank/s->每秒被 kswapd 扫描的页个数
pgscand/s->每秒直接被扫描的页个数
pgsteal/s->每秒钟从 cache 中被清除来满足内存需要的页个数
%vmeff->每秒清除的页(pgsteal)占总扫描页(pgscank + pgscand)的百分比

示例4.

显示每个块设备的状态
命令及结果
sar -d 1 3

[root@iam ~]# sar -d 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

07:37:54 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:37:55 PM    dev8-0     97.00     16.00   1114.00     11.65      0.04      0.38      0.38      3.70
07:37:55 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:37:55 PM  dev253-0     95.00      0.00   1114.00     11.73      0.00      0.03      0.03      0.30
07:37:55 PM  dev253-1      2.00     16.00      0.00      8.00      0.03     17.00     17.00      3.40
07:37:55 PM  dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

07:37:55 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:37:56 PM    dev8-0    140.00   8200.00   1353.00     68.24      0.15      1.09      0.24      3.30
07:37:56 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:37:56 PM  dev253-0    139.00   8192.00   1353.00     68.67      0.14      1.01      0.16      2.20
07:37:56 PM  dev253-1      1.00      8.00      0.00      8.00      0.01     11.00     11.00      1.10
07:37:56 PM  dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

07:37:56 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:37:57 PM    dev8-0    150.00   8192.00   1305.00     63.31      0.08      0.54      0.09      1.30
07:37:57 PM   dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:37:57 PM  dev253-0    150.00   8192.00   1305.00     63.31      0.08      0.54      0.09      1.40
07:37:57 PM  dev253-1      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:37:57 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:       dev8-0    129.00   5469.33   1257.33     52.14      0.09      0.70      0.21      2.77
Average:      dev11-0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:     dev253-0    128.00   5461.33   1257.33     52.49      0.07      0.59      0.10      1.30
Average:     dev253-1      1.00      8.00      0.00      8.00      0.01     15.00     15.00      1.50
Average:     dev253-2      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
You have new mail in /var/spool/mail/root
[root@iam ~]# 
[root@iam ~]# sar -d -p 1 3  
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

07:40:41 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:40:42 PM       sda    121.00   6144.00   1046.00     59.42      5.03     29.98      5.55     67.10
07:40:42 PM       sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:40:42 PM centos-root    124.00   8192.00   1061.00     74.62      5.03     29.26      5.41     67.10
07:40:42 PM centos-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:40:42 PM centos-home      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

07:40:42 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:40:43 PM       sda    133.00   2080.00   1151.00     24.29      0.28     12.62      1.11     14.80
07:40:43 PM       sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:40:43 PM centos-root    129.00      0.00   1136.00      8.81      0.27     12.95      1.09     14.00
07:40:43 PM centos-swap      4.00     32.00      0.00      8.00      0.03      8.00      2.00      0.80
07:40:43 PM centos-home      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00

07:40:43 PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
07:40:44 PM       sda    141.00   8192.00   1517.00     68.86      0.53      3.78      0.51      7.20
07:40:44 PM       sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:40:44 PM centos-root    141.00   8192.00   1517.00     68.86      0.53      3.78      0.52      7.30
07:40:44 PM centos-swap      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
07:40:44 PM centos-home      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:          sda    131.67   5472.00   1238.00     50.96      1.95     14.78      2.26     29.70
Average:          sr0      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:    centos-root    131.33   5461.33   1238.00     51.01      1.94     14.80      2.24     29.47
Average:    centos-swap      1.33     10.67      0.00      8.00      0.01      8.00      2.00      0.27
Average:    centos-home      0.00      0.00      0.00      0.00      0.00      0.00      0.00      0.00
[root@iam ~]#

输出说明:

DEV-> 磁盘设备的名称,如果不加-p,会显示dev253-0类似的设备名称,因此加上-p显示的名称更直接
tps->每秒I/O的传输总数
rd_sec/s-> 每秒读取的扇区的总数
wr_sec/s-> 每秒写入的扇区的 总数
avgrq-sz-> 平均每次次磁盘I/O操作的数据大小(扇区)
avgqu-sz-> 磁盘请求队列的平均长度
await-> 从请求磁盘操作到系统完成处理,每次请求的平均消耗时间,包括请求队列等待时间,单位是毫秒(1秒等于1000毫秒),等于寻道时间+队列时间+服务时间
svctm-> I/O的服务处理时间,即不包括请求队列中的时间
%util ->I/O请求占用的CPU百分比,值越高,说明I/O越慢

示例5.

报告每个CPU的状态
命令及结果:
sar -P [ALL] 1 3
**或 sar -u 1 3 **
**或 sar -p 1 3 **
当CPU是单核时,以上命令等价,当CPU是多核时,可以使用“-P”查看指定CPU使用情况,没有明确指出输出那个cpu使用情况时,默认是1,可以指定cpu查看状态,下标从0开始。当输入ALL表示输出所有的cpu状态。具体如下操作及显示:

[root@iam ~]# sar -P 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

07:53:55 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:53:58 PM       1     99.67      0.00      0.33      0.00      0.00      0.00
07:54:01 PM       1     98.98      0.00      1.02      0.00      0.00      0.00
07:54:04 PM       1    100.00      0.00      0.00      0.00      0.00      0.00
07:54:07 PM       1     99.31      0.00      0.69      0.00      0.00      0.00
^C

07:54:09 PM       1     99.30      0.00      0.70      0.00      0.00      0.00
Average:          1     99.47      0.00      0.53      0.00      0.00      0.00
[root@iam ~]# sar -P 0 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

07:54:17 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:54:18 PM       0    100.00      0.00      0.00      0.00      0.00      0.00
07:54:19 PM       0     98.02      0.00      1.98      0.00      0.00      0.00
07:54:20 PM       0    100.00      0.00      0.00      0.00      0.00      0.00
Average:          0     99.33      0.00      0.67      0.00      0.00      0.00
[root@iam ~]# sar -P 1 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

07:54:26 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:54:27 PM       1    100.00      0.00      0.00      0.00      0.00      0.00
07:54:28 PM       1    100.00      0.00      0.00      0.00      0.00      0.00
07:54:29 PM       1    100.00      0.00      0.00      0.00      0.00      0.00
Average:          1    100.00      0.00      0.00      0.00      0.00      0.00
[root@iam ~]# sar -P 2 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

07:54:32 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:54:33 PM       2     99.00      0.00      1.00      0.00      0.00      0.00
07:54:34 PM       2     98.02      0.00      1.98      0.00      0.00      0.00
07:54:35 PM       2    100.00      0.00      0.00      0.00      0.00      0.00
Average:          2     99.00      0.00      1.00      0.00      0.00      0.00
[root@iam ~]# sar -P 3 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

07:54:39 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:54:40 PM       3     98.04      0.00      1.96      0.00      0.00      0.00
07:54:41 PM       3    100.00      0.00      0.00      0.00      0.00      0.00
07:54:42 PM       3     99.00      0.00      1.00      0.00      0.00      0.00
Average:          3     99.00      0.00      1.00      0.00      0.00      0.00
[root@iam ~]# sar -P ALL 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

07:54:46 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:54:47 PM     all     99.38      0.00      0.62      0.00      0.00      0.00
07:54:47 PM       0    100.00      0.00      0.00      0.00      0.00      0.00
07:54:47 PM       1    100.00      0.00      0.00      0.00      0.00      0.00
07:54:47 PM       2     99.00      0.00      1.00      0.00      0.00      0.00
07:54:47 PM       3    100.00      0.00      0.00      0.00      0.00      0.00
07:54:47 PM       4     99.01      0.00      0.99      0.00      0.00      0.00
07:54:47 PM       5     98.02      0.00      1.98      0.00      0.00      0.00
07:54:47 PM       6    100.00      0.00      0.00      0.00      0.00      0.00
07:54:47 PM       7    100.00      0.00      0.00      0.00      0.00      0.00

07:54:47 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:54:48 PM     all     99.62      0.00      0.38      0.00      0.00      0.00
07:54:48 PM       0     99.00      0.00      1.00      0.00      0.00      0.00
07:54:48 PM       1    100.00      0.00      0.00      0.00      0.00      0.00
07:54:48 PM       2    100.00      0.00      0.00      0.00      0.00      0.00
07:54:48 PM       3    100.00      0.00      0.00      0.00      0.00      0.00
07:54:48 PM       4    100.00      0.00      0.00      0.00      0.00      0.00
07:54:48 PM       5    100.00      0.00      0.00      0.00      0.00      0.00
07:54:48 PM       6    100.00      0.00      0.00      0.00      0.00      0.00
07:54:48 PM       7    100.00      0.00      0.00      0.00      0.00      0.00

07:54:48 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
07:54:49 PM     all     99.50      0.00      0.37      0.00      0.00      0.12
07:54:49 PM       0    100.00      0.00      0.00      0.00      0.00      0.00
07:54:49 PM       1     99.01      0.00      0.99      0.00      0.00      0.00
07:54:49 PM       2    100.00      0.00      0.00      0.00      0.00      0.00
07:54:49 PM       3     98.02      0.00      1.98      0.00      0.00      0.00
07:54:49 PM       4    100.00      0.00      0.00      0.00      0.00      0.00
07:54:49 PM       5     99.00      0.00      0.00      0.00      0.00      1.00
07:54:49 PM       6    100.00      0.00      0.00      0.00      0.00      0.00
07:54:49 PM       7    100.00      0.00      0.00      0.00      0.00      0.00

Average:        CPU     %user     %nice   %system   %iowait    %steal     %idle
Average:        all     99.50      0.00      0.46      0.00      0.00      0.04
Average:          0     99.67      0.00      0.33      0.00      0.00      0.00
Average:          1     99.67      0.00      0.33      0.00      0.00      0.00
Average:          2     99.67      0.00      0.33      0.00      0.00      0.00
Average:          3     99.34      0.00      0.66      0.00      0.00      0.00
Average:          4     99.67      0.00      0.33      0.00      0.00      0.00
Average:          5     99.00      0.00      0.67      0.00      0.00      0.33
Average:          6    100.00      0.00      0.00      0.00      0.00      0.00
Average:          7    100.00      0.00      0.00      0.00      0.00      0.00
[root@iam ~]# 
[root@iam ~]# sar -u 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

08:01:57 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
08:01:58 PM     all     99.63      0.00      0.37      0.00      0.00      0.00
08:01:59 PM     all     99.75      0.00      0.25      0.00      0.00      0.00
08:02:00 PM     all     99.38      0.00      0.62      0.00      0.00      0.00
Average:        all     99.58      0.00      0.42      0.00      0.00      0.00
[root@iam ~]# sar -u 1 3 |grep Average
Average:        all     99.50      0.00      0.46      0.00      0.00      0.04
[root@iam ~]# sar -p 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

08:02:48 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
08:02:49 PM     all     99.38      0.00      0.62      0.00      0.00      0.00
08:02:50 PM     all     99.38      0.00      0.62      0.00      0.00      0.00
08:02:51 PM     all     99.13      0.00      0.62      0.00      0.00      0.25
Average:        all     99.29      0.00      0.62      0.00      0.00      0.08
[root@iam ~]#

输出说明:

%user ->用户空间的CPU使用
%nice ->改变过优先级的进程的CPU使用率
%system ->内核空间的CPU使用率
%iowait ->CPU等待IO的百分比
%steal ->虚拟机的虚拟机CPU使用的CPU百分比
%idle ->空闲的CPU百分比

补充命令lsblk:查看块设备信息

[root@iam ~]# lsblk
NAME            MAJ:MIN RM   SIZE RO TYPE MOUNTPOINT
sda               8:0    0   200G  0 disk 
├─sda1            8:1    0     1G  0 part /boot
└─sda2            8:2    0   199G  0 part 
  ├─centos-root 253:0    0 141.1G  0 lvm  /
  ├─centos-swap 253:1    0   7.9G  0 lvm  [SWAP]
  └─centos-home 253:2    0    50G  0 lvm  /home
sr0              11:0    1  10.3G  0 rom 

示例6.

进程队列长度和平均负载状态监控
命令及结果:
sar -q 1 3

[root@iam ~]# sar -q 1 3 
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

08:13:55 PM   runq-sz  plist-sz   ldavg-1   ldavg-5  ldavg-15   blocked
08:13:56 PM        10      1646     14.81     14.96     14.50         0
08:13:57 PM        12      1646     14.81     14.96     14.50         0
08:13:58 PM        16      1646     14.81     14.96     14.50         0
Average:           13      1646     14.81     14.96     14.50         0
[root@iam ~]# sar -q 1 3 |grep Average
Average:           14      1647     15.06     15.01     14.52         0

输出说明:

runq-sz-> 运行队列的长度(等待运行的进程数,每核的CP不能超过3个)
plist-sz ->进程列表中的进程(processes)和线程数(threads)的数量
ldavg-1-> 最后1分钟的CPU平均负载,即将多核CPU过去一分钟的负载相加再除以核心数得出的平均值,5分钟和15分钟以此类推
ldavg-5-> 最后5分钟的CPU平均负载
ldavg-15-> 最后15分钟的CPU平均负载
每间隔1秒钟统计一次总共统计三次,然后获取平均值:sar -q 1 3 | grep Average

示例7:

进程、inode、文件和锁表状态
命令及结果:
sar -v 1 3

[root@iam ~]# sar -v 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

08:20:59 PM dentunusd   file-nr  inode-nr    pty-nr
08:21:00 PM     62377      8128     43935        16
08:21:01 PM     62406      8128     43943        16
08:21:02 PM     62429      8128     43942        16
Average:        62404      8128     43940        16

输入说明:

dentunusd ->在缓冲目录条目中没有使用的条目数量
file-nr -> 被系统使用的文件句柄数量
inode-nr -> 已经使用的索引数量
pty-nr -> 使用的pty数量

示例8:

报告显示任务创建和系统切换活动
命令及结果:
sar -w 1 3

[root@iam ~]# sar -w 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

08:31:16 PM    proc/s   cswch/s
08:31:17 PM      4.00   4906.00
08:31:18 PM      7.00   4365.00
08:31:19 PM     32.67   5612.87
Average:        14.62   4963.46

输出说明:

proc/s -> 每秒创建的任务总数
cswch/s -> 每秒上下文切换的总数

示例9.:

显示内存使用率
命令及结果:
sar -r 1 3

[root@iam ~]# sar -r 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

08:38:47 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact   kbdirty
08:38:48 PM    383492  15882476     97.64      1068   5492368  27685344    112.89   5152456  10027096       512
08:38:49 PM    382264  15883704     97.65      1068   5492596  27685856    112.90   5152924  10027288       524
08:38:50 PM    377936  15888032     97.68      1068   5496476  27685852    112.90   5153032  10031188       528
Average:       381231  15884737     97.66      1068   5493813  27685684    112.89   5152804  10028524       521
[root@iam ~]# sar -r 1 3|grep Average
Average:       230108  16035860     98.59      1068   5290705  27674264    112.85   5407708   9939421       396

输出说明:

kbmemfree -> 空闲的物理内存大小
kbmemused -> 使用中的物理内存大小
%memused ->物理内存使用率
kbbuffers-> 内核中作为缓冲区使用的物理内存大小,kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.
kbcached ->缓存的文件大小
kbcommit -> 保证当前系统正常运行所需要的最小内存,即为了确保内存不溢出而需要的最少内存(物理内存+Swap分区)
%commit-> 这个值是kbcommit与内存总量(物理内存+swap分区)的一个百分比的值
kbactive -> 活动内存量(以KB为单位)(最近使用过且通常不会被回收,除非绝对必要)
kbinact ->以KB为单位的非活动内存量(较早以前使用过。它更适合被回收以用于其他目的)
kbdirty -> 等待写回磁盘的内存量(KB)
每间隔1秒钟统计一次总共统计三次,然后获取平均值:sar -r 1 3 | grep Average

示例10.

网络统计
命令及结果:
sar -n DEV 1 3

[root@iam ~]# sar -n DEV 1 3
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

09:00:45 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09:00:46 PM      tun0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:00:46 PM    ens192    535.00    576.00     60.91   2322.23      0.00      0.00      0.00
09:00:46 PM        lo     30.00     30.00      4.32      4.32      0.00      0.00      0.00
09:00:46 PM veth430ffcb      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:00:46 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00

09:00:46 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09:00:47 PM      tun0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:00:47 PM    ens192    539.60    548.51     58.34   2263.20      0.00      0.00      0.00
09:00:47 PM        lo      2.97      2.97      0.18      0.18      0.00      0.00      0.00
09:00:47 PM veth430ffcb      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:00:47 PM   docker0      0.00      0.00      0.00      0.00      0.00      0.00      0.00

09:00:47 PM     IFACE   rxpck/s   txpck/s    rxkB/s    txkB/s   rxcmp/s   txcmp/s  rxmcst/s
09:00:48 PM      tun0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:00:48 PM    ens192    565.00    601.00     65.85   2511.41      0.00      0.00      0.00
09:00:48 PM        lo      4.00      4.00      0.20      0.20      0.00      0.00      0.00
09:00:48 PM veth430ffcb      0.00      0.00      0.00      0.00      0.00      0.00      0.00
09:00:48 PM   docker0      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:         tun0      0.00      0.00      0.00      0.00      0.00      0.00      0.00
Average:       ens192    546.51    575.08     61.69   2365.27      0.00      0.00      0.00
Average:           lo     12.29     12.29      1.56      1.56      0.00      0.00      0.00
Average:    veth430ffcb      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

输出说明:

IFACE -> 本地网卡接口的名称
rxpck/s -> 每秒钟接受的数据包
txpck/s -> 每秒钟发送的数据库
rxKB/S -> 每秒钟接受的数据包大小,单位为KB
txKB/S -> 每秒钟发送的数据包大小,单位为KB
rxcmp/s -> 每秒钟接受的压缩数据包
txcmp/s -> 每秒钟发送的压缩包
rxmcst/s -> 每秒钟接收的多播数据包

其他示例11.

可以把上面的输出的报告信息保存到一个二进制文件里,把二进制文件通过sadf命令转换成数据库可读的格式如csv的格式文件,方便出图标统计。
如:
输出统计的数据信息
命令
**sar -o cpu.log -u 1 3 **

[root@iam ~]# sar -o cpu.log -u 1 3 
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

09:26:01 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
09:26:02 PM     all     99.50      0.00      0.37      0.00      0.00      0.12
09:26:03 PM     all     99.00      0.00      0.50      0.00      0.00      0.50
09:26:04 PM     all     99.38      0.00      0.62      0.00      0.00      0.00
Average:        all     99.29      0.00      0.50      0.00      0.00      0.21
[root@iam ~]# sadf -d cpu.log
# hostname;interval;timestamp;CPU;%user;%nice;%system;%iowait;%steal;%idle
iam.zt.chiansec.local;1;2023-03-24 13:24:27 UTC;-1;99.63;0.00;0.37;0.00;0.00;0.00
iam.zt.chiansec.local;1;2023-03-24 13:24:28 UTC;-1;99.62;0.00;0.38;0.00;0.00;0.00
iam.zt.chiansec.local;1;2023-03-24 13:24:29 UTC;-1;99.25;0.00;0.62;0.00;0.00;0.12
iam.zt.chiansec.local;92;2023-03-24 13:26:01 UTC;-1;99.43;0.00;0.47;0.00;0.00;0.09
iam.zt.chiansec.local;1;2023-03-24 13:26:02 UTC;-1;99.50;0.00;0.37;0.00;0.00;0.12
iam.zt.chiansec.local;1;2023-03-24 13:26:03 UTC;-1;99.00;0.00;0.50;0.00;0.00;0.50
iam.zt.chiansec.local;1;2023-03-24 13:26:04 UTC;-1;99.38;0.00;0.62;0.00;0.00;0.00
[root@iam ~]# sadf -d cpu.log |sed 's/;/,/g' >cpu.csv
[root@iam ~]# 

其他示例12.

从数据文件读取信息
命令:
sar -f cpu.log

[root@iam ~]# sadf -d cpu.log |sed 's/;/,/g' >cpu.csv
[root@iam ~]# sar -f cpu.log
Linux 3.10.0-1062.el7.x86_64 (iam.zt.chiansec.local) 	03/24/2023 	_x86_64_	(8 CPU)

09:24:26 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
09:24:27 PM     all     99.63      0.00      0.37      0.00      0.00      0.00
09:24:28 PM     all     99.62      0.00      0.38      0.00      0.00      0.00
09:24:29 PM     all     99.25      0.00      0.62      0.00      0.00      0.12
09:26:01 PM     all     99.43      0.00      0.47      0.00      0.00      0.09
09:26:02 PM     all     99.50      0.00      0.37      0.00      0.00      0.12
09:26:03 PM     all     99.00      0.00      0.50      0.00      0.00      0.50
09:26:04 PM     all     99.38      0.00      0.62      0.00      0.00      0.00
Average:        all     99.43      0.00      0.47      0.00      0.00      0.10

4.用于排查性能常用的命令

CPU瓶颈: sar -u 和sar -q等
内存瓶颈:sar -B、sar -r、sar -W等
I/O瓶颈:sar -b、sar -u、sar -d 等

你可能感兴趣的:(性能测试,测试工具,操作系统,linux,服务器,运维)