Linux 基础之 sar 工具详解

举报
zuozewei 发表于 2024/03/04 11:19:34 2024/03/04
【摘要】 sar(System Activity Reporter系统活动情况报告)是目前 Linux 比较全的系统性能分析工具之一,可以从多方面对系统的活动进行报告 ,包括:文件的读写情况、系统调用的使用情况、磁盘I/O、CPU效率、内存使用状态、进程活动有IPC有关的活动等。

一、前言

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

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 #修改定时任务,自定义收集信息的时间间隔        

三、使用说明

我们还是先用 man 来看一下对应的文档说明:
image.png

我给稍微整理了一下形成一个导图,可以快速的了解其结构与详情:
image.png

(一)sar语法

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

(二)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 —> 显示给定进程的状态

(三)示例

示例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            

```bash
[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            
           

用于排查性能常用的命令

CPU瓶颈:sar -u 和sar -q等
内存瓶颈:sar -B、sar -r、sar -W等
I/O瓶颈:sar -b、sar -u、sar -d 等
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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