前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Linux之sar命令

Linux之sar命令

作者头像
AsiaYe
发布2019-11-06 15:30:37
2.1K0
发布2019-11-06 15:30:37
举报
文章被收录于专栏:DBA随笔DBA随笔
Linux之sar命令
01

sar命令简介

Linux中的sar命令是系统运行状态的统计命令,他讲指定的操作系统状态显示到标准的输出设备中,它的全称是system activity reporter,它可以从多个方面对系统的活动进行报告,包括但不限于:系统磁盘的io状况,cpu当前的效率值,内存使用的情况,进程活动以及文件读写情况等。

常用格式和参数

02

sar (命令选项)(相关参数)

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

-o file表示将命令结果以二进制格式存放在文件中,file 是文件名。

03

实际应用

“纸上得来终觉浅,绝知此事要躬行”,这里通过一系列的操作来了解这个命令:

1.查看内存和交换空间的使用率

代码语言:javascript
复制
[root@localhost yeyz]# sar -r
Linux 2.6.32-431.el6.x86_64 (localhost.localdomain)     年月日     _x86_64_    ( CPU)

时分秒       LINUX RESTART

时分秒 kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit
时分秒             51.52                  30.54
时分秒             51.54                  30.54
时分秒             51.55                  30.54
时分秒             51.55                  30.54
时分秒             51.60                  30.56

上面的结果中,kbmemfree与kbmemused字段分别显示内存的未使用与已使用空间,后面跟着的是已使用空间的百分比(%memused字段)。kbbuffers与kbcached字段分别显示缓冲区与系统全域的数据存取量,单位为KB,#commit 这个值是kbcommit与内存总量(物理内存+swap分区)的一个百分比的值

2.查看cpu资源监控,最后的两个数字代表,每10s采样一次,总共采样1次

代码语言:javascript
复制
[root dba_mysql]# sar -u -o test  
Linux 2.6.32-642.6.2.el6.x86_64 (hb30-dba-mysql-master-124-44)     //  _x86_64_    ( CPU)

:: PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
:: PM     all      3.70      0.01      3.56      3.50      0.00     89.22
Average:        all      3.70      0.01      3.56      3.50      0.00     89.22

上面的信息每个列的描述如下:

CPU:all 表示统计信息为所有 CPU 的平均值。 %user:显示在用户级别(application)运行使用 CPU 总时间的百分比。 %nice:显示在用户级别,用于nice操作,所占用 CPU 总时间的百分比。 %system:在核心级别(kernel)运行所使用 CPU 总时间的百分比。 %iowait:显示用于等待I/O操作占用 CPU 总时间的百分比。 %steal:管理程序(hypervisor)为另一个虚拟进程提供服务而等待虚拟 CPU 的百分比。 %idle:显示 CPU 空闲时间占用 CPU 总时间的百分比。

3.内存分页监控

代码语言:javascript
复制
sar -B 10 1  后面两个参数表示每10s采样一次,总共采样1次
代码语言:javascript
复制
[root dba_mysql]# sar -B  
Linux 2.6.32-642.6.2.el6.x86_64 (hb30-dba-mysql-master-124-44)     //  _x86_64_    ( CPU)

:: PM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
:: PM     35.90  51765.81    312.82      0.00    992.41    615.38      0.00    615.17     99.97
Average:        35.90  51765.81    312.82      0.00    992.41    615.38      0.00    615.17     99.97

上图中的输出结果描述如下: pgpgin/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.IO和传送速率监控

sar -b 10 3该命令表示每10s采样一次,连续采样3次,结果如下:

代码语言:javascript
复制
[root dba_mysql]# sar -b  
Linux 2.6.32-642.6.2.el6.x86_64 (hb30-dba-mysql-master-124-44)     //  _x86_64_    ( CPU)

:: PM       tps      rtps      wtps   bread/s   bwrtn/s
:: PM  19905.58      6.21  19899.37    138.11 195967.16
:: PM  19625.40      3.16  19622.23    101.16 192708.11
:: PM  20463.72      4.47  20459.26    142.98 203368.51
Average:     19996.72      4.61  19992.11    127.37 197328.36

tps:每秒钟物理设备的 I/O 传输总量 rtps:每秒钟从物理设备读入的数据总量 wtps:每秒钟向物理设备写入的数据总量 bread/s:每秒从物理设备读入的数据量,单位为块/s bwrtn/s:每秒向物理设备写入的数据量,单位为块/s

5.设备使用情况监控

代码语言:javascript
复制
sar -d 10 3 –p
代码语言:javascript
复制
[root dba_mysql]# sar -d   -p
Linux 2.6.32-642.6.2.el6.x86_64 (hb30-dba-mysql-master-124-44)     //  _x86_64_    ( CPU)

:: PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
:: PM       sdb   6422.96     44.02  82649.74     12.87      0.37      0.06      0.05     33.58
:: PM       sda      1.27     36.40      5.93     33.33      0.00      0.00      0.00      0.00
:: PM data-main  11822.65     54.18 100249.74      8.48      0.70      0.06      0.03     40.81
:: PM       sdc   1719.47     10.16  17600.00     10.24      0.11      0.07      0.06     10.73

:: PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
:: PM       sdb   6530.57     67.94  83672.19     12.82      0.37      0.06      0.05     33.66
:: PM       sda      2.02      0.00     22.08     10.95      0.00      0.32      0.16      0.03
:: PM data-main  12019.64     67.94  99746.07      8.30      0.72      0.06      0.03     41.25
:: PM       sdc   1747.13      0.00  16072.19      9.20      0.11      0.06      0.06     10.57

:: PM       DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
:: PM       sdb   6149.74    111.55  78426.64     12.77      0.41      0.07      0.06     37.62
:: PM       sda      0.31      0.00      4.16     13.33      0.00      1.00      1.00      0.03
:: PM data-main  11301.77    111.55  93956.30      8.32      0.74      0.07      0.04     45.05
:: PM       sdc   1661.50      0.00  15531.32      9.35      0.12      0.07      0.07     11.12

Average:          DEV       tps  rd_sec/s  wr_sec/s  avgrq-sz  avgqu-sz     await     svctm     %util
Average:          sdb   6366.36     74.72  81562.92     12.82      0.38      0.06      0.05     34.97
Average:          sda      1.19     12.08     10.67     19.06      0.00      0.26      0.18      0.02
Average:    data-main  11712.04     78.09  97959.55      8.37      0.72      0.06      0.04     42.39
Average:          sdc   1709.06      3.37  16396.63      9.60      0.11      0.07      0.06     10.81

该结果的说明如下:

参数-p可以打印出sda,hdc等磁盘设备名称,如果不用参数-p,设备节点则有可能是dev8-0,dev22-0 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的百分比,比率越大,说明越饱和 1. avgqu-sz 的值较低时,设备的利用率较高。 2. 当%util的值接近 1% 时,表示设备带宽已经占满

当然,除了这些,sar命令匹配的参数还有很多,就像上面的参数介绍一样,其他参数大家可以手动去试试,都会输出采样的结果。一般来讲,内存情况和磁盘IO以及cpu情况的查询比较多,重点连接这三个指标即可。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DBA随笔 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档