找出系统瓶颈的利器 -- sar
文章目录
sar是System Activity Reporter
(系统活动情况报告)的缩写。
sar工具将对系统当前的状态进行取样,然后通过计算数据和比例来表达系统的当前运行状态。它的特点是可以连续对系统取样,获得大量的取样数据;取样数据和分析的结果都可以存入文件,所需的负载很小。
sar是目前Linux上最为全面的系统性能分析工具之一,可以从14个大方面对系统的活动进行报告,包括文件的读写情况、系统调用的使用情况、串口、CPU效率、内存使用状况、进程活动及IPC有关的活动等,使用也是较为复杂。
本文环境为:
- VMware
- centos 7.5
- sysstat version 10.1.5
安装及配置
|
|
配置文件位于/etc/sysconfig/sysstat
,定时文件位于/etc/cron.d/sysstat
。
默认情况下,sar每10分钟记录一次当前的系统状态。记录文件位于/var/log/sa
。
简单操作
直接使用 sar -类型参数 [统计间隔] [统计次数]
,来展示统计信息即可。例如,使用sar -u 2 3
可以统计CPU的使用情况,每隔2秒统计一次,一共统计3次。
可以使用 -f
参数来查看过去的数据。例如 sar -u -f /var/log/sa/sa22
。
也可以使用 -o
来保存文件,例如sar -u -o /tmp/sar1 1 3
。
一些统计参数介绍
查看CPU使用率 – sar -u
- %user 用户模式下消耗的CPU时间的比例
- %nice 通过nice改变了进程调度优先级的进程,在用户模式下消耗的CPU时间的比例
- %system 系统模式下消耗的CPU时间的比例
- %iowait CPU等待磁盘I/O导致空闲状态消耗的时间比例
- %steal 利用Xen等操作系统虚拟化技术,等待其它虚拟CPU计算占用的时间比例
- %idle CPU空闲时间比例
查看平均负载 – sar -q
- runq-sz:运行队列的长度(等待运行的进程数)
- plist-sz:进程列表中进程(processes)和线程(threads)的数量
- ldavg-1:最后1分钟的系统平均负载
- ldavg-5:过去5分钟的系统平均负载
- ldavg-15:过去15分钟的系统平均负载
查看内存使用状况 – sar -r
- kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间
- kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间
- %memused:物理内存使用率,这个值是kbmemused和内存总量(不包括swap)的一个百分比
- kbbuffers和kbcached:这两个值就是free命令中的buffer和cache
- kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap)
- %commit:这个值是kbcommit与内存总量(包括swap)的一个百分比
查看页面交换发生状况 – sar -W
- pswpin/s:每秒系统换入的交换页面(swap page)数量
- pswpout/s:每秒系统换出的交换页面(swap page)数量
查看I/O和传递速率状况 – sar -b
- tps 磁盘每秒钟的IO总数,等于iostat中的tps
- rtps 每秒钟从磁盘读取的IO总数
- wtps 每秒钟从写入到磁盘的IO总数
- bread/s 每秒钟从磁盘读取的块总数
- bwrtn/s 每秒钟此写入到磁盘的块总数
磁盘使用状况 – sar -d
- 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越慢
简单分析
一目了然的看到系统运行状态之后,就可以有针对性的处理系统瓶颈了。
例如,怀疑CPU存在瓶颈,可用 sar -u 和 sar -q 等来查看,怀疑内存存在瓶颈,可用sar -B、sar -r 和 sar -W 等来查看,怀疑I/O存在瓶颈,可用 sar -b、sar -u 和 sar -d 等来查看。
总结
正所谓简单就是美,sar的参数不少,但并不复杂,记录的信息非常详细,分析的时候也恰到好处,简直就像一把瑞士军刀。知道了这个工具以后,我在vps也安装了一下,留作以后分析尝试。