linux 性能监控分析以及调优(sar)

1. sar 介绍和安装
sar是非常强大性能分析命令,通过sar命令可以全面的获取系统的CPU、运行队列、磁盘I/O、交换区、内存、cpu中断、网络等性能数据。

[root@besttest ~]# sar
-bash: sar: command not found

安装sar命令 :yum -y install sysstat

linux 性能监控分析以及调优(sar)_第1张图片
linux 性能监控分析以及调优(sar)_第2张图片

注:Sar是后台进程sadc的前端显示工具,安装名为“sysstat”的包后,sadc就会自动从内核收集报告并保存

2. sar 命令用法
linux 性能监控分析以及调优(sar)_第3张图片

•sar命令行的常用格式:sar[options] [-A] [-o file] t [n]
在命令行中,n 和t 两个参数组合起来定义采样间隔和次数,t为采样间隔,是必须有的参数,n为采样次数,是可选的,默认值是1,-o file表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。options 为命令行选项,sar命令的选项很多,下面只列出常用选项:
-A:所有报告的总和。
-u:CPU利用率
-v:进程、节点、文件和锁表状态。
-p:像是当前系统中指定CPU使用信息。
-d:硬盘使用报告。
-r:显示系统内存的使用情况
-n:显示网络运行状态。参数后面可跟DEV、EDEV、SOCK和FULL。DEV显示网络接口信息,EDEV显示网络错误的统计数据,SOCK显示套接字信息,FULL显示前三参数所以信息。
-q:显示运行队列的大小,它与系统当时的平均负载相同
-B:内存分页情况
-R:显示进程在采样时间内的活动情况。
-g:串口I/O的情况。
-b:缓冲区使用情况。
-a:文件读写情况。
-c:系统调用情况。
-R:进程的活动情况。
-y:终端设备活动情况。
-W:系统交换活动。

3. sar 监控cup

linux 性能监控分析以及调优(sar)_第4张图片
%usr:用户进程消耗的CPU时间百分比。
%nice: 运行正常进程消耗的CPU时间百分比。
%system:系统进程消耗的CPU时间百分比。
%iowait:I/O等待所占CPU时间百分比。
%steal:在内存紧张环境下,pagein强制对不同的页面进行的steal操作。
%idle:CPU空闲状态的时间百分比。
在所有的显示中,我们应主要注意%iowait和%idle,%iowait的值过高,表示硬盘存在I/O瓶颈,%idle值高,表示CPU较空闲,如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。%idle值如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。

4.sar——inode、文件和其他内核表监控

linux 性能监控分析以及调优(sar)_第5张图片
inode-nr:目前核心中正在使用或分配的节点表的表项数,由核心参数MAX-INODE控制。
file-nr:目前核心中正在使用或分配的文件表的表项数,由核心参数MAX-FILE控制。
pty-nr:溢出出现的次数。
dentunusd:目录高速缓存中未被使用的条目数量。

5. sar 内存和交换空间监控
linux 性能监控分析以及调优(sar)_第6张图片
Kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间。
kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间。
%memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比。
kbbuffers和kbcached:这两个值就是free命令中的buffer和cache。
kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap)。
%commit:这个值是kbcommit与内存总量(包括swap)的一个百分比。

6 . sar 内存分页监控

linux 性能监控分析以及调优(sar)_第7张图片
pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)。
pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)。
fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)。
majflt/s:每秒钟产生的主缺页数。

7. sar I/O和传送速率监控

linux 性能监控分析以及调优(sar)_第8张图片
tps:每秒钟物理设备的I/O 传输总量。
rtps:每秒钟从物理设备读入的数据总量。
wtps:每秒钟向物理设备写入的数据总量。
bread/s:每秒钟从物理设备读入的数据量,单位为块/s。
bwrtn/s:每秒钟向物理设备写入的数据量,单位为块/s。

8. sar 进程队列长度和平均负载状态监控

linux 性能监控分析以及调优(sar)_第9张图片
runq-sz:运行队列的长度(等待运行的进程数)。
plist-sz:进程列表中进程(processes)和线程(threads)的数量。
ldavg-1:最后1分钟的系统平均负载(System load average)。
ldavg-5:过去5分钟的系统平均负载。
ldavg-15:过去15分钟的系统平均负载。

9 . sar 系统交换活动信息监控
linux 性能监控分析以及调优(sar)_第10张图片
pswpin/s:每秒系统换入的交换页面(swap page)数量。
pswpout/s:每秒系统换出的交换页面(swap page)数量。

10 . sar 设备使用情况监控
linux 性能监控分析以及调优(sar)_第11张图片

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% 时,表示设备带宽已经占满。

11. sar 总结

要判断系统瓶颈问题,有时需几个sar命令选项结合起来
•怀疑CPU存在瓶颈,可用sar-u 和sar-q 等来查看
•怀疑内存存在瓶颈,可用sar-B、sar-r 和sar-W 等来查看
•怀疑I/O存在瓶颈,可用sar-b、sar-u 和sar-d 等来查看

你可能感兴趣的:(测试,linux)