linux sar指令是一个综合性的系统监控指令,功能比较丰富,集大成者,对分析CPU、内存、网络等都有比较大的帮助。此指令支持支持间歇性采样,“比如sar -u 1 100”,表示每隔1秒、总共采样100次。
1、sar -A:打印所有的信息。它的结果是所有能支持参数的合集(统计值),对分析没有太大帮助。不过如果你希望获取某个时间点的所有监控数据,可以通过此指令将数据导入到文件。
2、sar -b:打印IO和传送率的统计值(所有块设备总和)
# sar -b 1 01:00:29 PM tps rtps wtps bread/s bwrtn/s 01:00:30 PM 3951.58 223.16 3728.42 56084.21 953018.95 01:00:31 PM 249.50 234.65 14.85 58843.56 475.25 01:00:32 PM 237.37 237.37 0.00 60250.51 0.00 01:00:33 PM 237.00 235.00 2.00 59904.00 16.00
1)tps:磁盘IO的每秒请求数,包括读写(进程的逻辑请求在外设层面可以被合并成一个)。此值越高,表示磁盘并发请求量越高,但还不能判定磁盘的瓶颈。(稍后根据sar -d判断)
2)rtps/wtps:读写请求每秒数。
3)bread/bwrtn:每秒读写的块数量。通常一个块大小为1kb,可以粗略估算磁盘IO情况。
3、sar -B:页缓存的情况统计值。
# sar -B 1 01:20:26 PM pgpgin/s pgpgout/s fault/s majflt/s pgfree/s pgscank/s pgscand/s pgsteal/s %vmeff 01:20:27 PM 4.00 8.00 4180.00 0.00 3137.00 0.00 0.00 0.00 0.00 01:20:28 PM 0.00 34404.04 3049.49 0.00 8590.91 5657.58 0.00 5657.58 100.00 01:20:29 PM 0.00 8.00 3012.00 0.00 2763.00 0.00 0.00 0.00 0.00
1)pgpgin/s:每秒从磁盘中page in的数据量(kb)。
2)pgpgout/s:每秒page out到磁盘的数据量(kb)。这两个数据不同于swap,它们仅仅是反应进程对文件系统的数据操作(memory mapping?)。即使关闭了swap,这两个值仍然会很大,特别是在文件IO频繁的系统。
4、sar -d:查看每个磁盘设备的状况
# sar -d 1 02:00:52 PM DEV tps rd_sec/s wr_sec/s avgrq-sz avgqu-sz await svctm %util 02:00:53 PM dev202-0 4.00 0.00 112.00 28.00 0.00 1.00 1.00 0.40 02:00:53 PM dev202-32 80.00 0.00 14360.00 179.50 0.18 2.30 0.10 0.80 02:00:53 PM dev202-16 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00
1)tps:每秒读写请求总数。此值越高,表示磁盘越麻烦。
2)avgrq-sz:平均每次请求操作的扇区(selector)大小。
3)avgqu-sz:此磁盘请求的等待队列请求数,此值越大,表示此盘并发请求越高,且有达到瓶颈的可能。
4)await:IO请求从接受到完成所需的总时间(平均),包括在等待队列中的等待时间。此值越高,表示IO响应越慢,也是磁盘瓶颈的一个反应。我们需要综合tps、argqu-sz综合判断。
5)svctm:IO请求处理的平均时间,不包括等待队列的等待时间。此值越接近await说明实际等待时间越少,磁盘实际响应效率越高;反之,表明磁盘瓶颈越高。
6)%uitl:IO请求消耗CPU占比,通常此值很低,此值越高说明IO请求越密集、越饱和(即CPU用于处理IO的时间越高,对于存储系统,我们希望它高一些,此外还有关注load等)。
5、sar -n:查看网络,感觉没有netstat好用。
6、sar -p:查看CPU的统计值
#sar -p 1 03:57:12 PM CPU %user %nice %system %iowait %steal %idle 03:57:13 PM all 5.45 0.00 1.00 0.00 0.00 93.55 03:57:14 PM all 4.65 0.00 1.19 0.06 0.00 94.10
使用“sar -u ALL”查看每个CPU的具体详情,数据指标与上差不多。
7、sar -q:系统load分析
#sar -q 1 03:58:33 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 03:58:34 PM 1 452 1.19 1.07 0.98 03:58:35 PM 1 452 1.19 1.07 0.98 03:58:36 PM 2 452 1.18 1.07 0.98
1)runq-sz:等待运行的任务数,此值我们需要多观察,此值越高,潜在表明CPU可能load较高,我们需要考虑升级CPU了。
2)plist-sz:执行中或者亟待执行的任务数。此值反应并发量。
3)ldavg-1、-5、-15分别表示CPU平均load在1、5、15分钟线的值。
8、sar -r:查看内存统计信息
# sar -r 1 04:13:11 PM kbmemfree kbmemused %memused kbbuffers kbcached kbcommit %commit 04:13:12 PM 216972 30665448 99.30 9184 6324780 28734268 93.04 04:13:13 PM 227780 30654640 99.26 9184 6313488 28726728 93.02 04:13:14 PM 217268 30665152 99.30 9188 6324428 28734276 93.04
1)kbmemfree:空闲内存,单位kb。
2)kbmemused,%memused:已用内存。
3)kbbuffers:缓冲区内存,通常是网络IO、磁盘IO使用的临时缓冲区,随进程操作结束而消亡。
4)kbcached:缓存大小,IO操作产生的页缓存等。此区数据有系统维护,需要时可以被回收并分配。
5)kbcommit:保证当前系统所需要的内存,即为了确保不溢出二所需要的内存(RAM + SWAP)。
6)%commit:kbcommit与内存总量占比,超过100%表示使用了swap且有内存不足的分险,避免swap则需要扩容内存。
9、sar -w:查看进程创建和cs时间。用途不大,如果发现cs较高,通常在cpu层面就能反应,此外可以根据pidstat来辅助分析进程cs的具体情况。
10、sar -W:查看页交换情况,通常可以辅助发现swap的发生。页交换频繁,通常意味着内存不足,潜在引起性能较低。
# sar -W 1 04:55:34 PM pswpin/s pswpout/s 04:55:35 PM 0.00 0.00 04:55:36 PM 0.00 0.00
1)pswpin/s:每秒交换页的数量,从磁盘到内存。
2)pswpout/s:每秒换出页的数量,从内存到磁盘。注意,如果swap开启,这两个值通常会在内存不足
(包括虚拟内存)时发生,会在一定程度上影响性能,还会导致load较高。
参考:
1)https://linux.die.net/man/1/sar
2)https://linuxtools-rst.readthedocs.io/zh_CN/latest/tool/sar.html
相关推荐
超详细的sar命令解析,很适合小白使用,希望大家学习愉快
SAR图像的图像分割心得和笔记,希望对大家有用
基于SAR目标识别的深度学习方法.pdf
SAR图像处理1 SAR 课件 SAR学习入门的教材
基于深度学习的SAR图像目标识别算法.pdf
SAR回波仿真,以星载 SAR 系统为例设计一个 1 米分辨率星载 SAR 系统不考虑地球弯曲和速度变化
sar目标仿真
SAR SIFT图像配准算法。yishiliuhuasheng/sar_sift
该代码完成欺骗干扰功能应用于SAR成像,使用语言为matlab
基于高分辨率SAR影像和深度学习的输电杆塔智能识别研究.pdf
基于深度学习的海浪SAR图像分类.pdf
SAR数据,非原始数据,是处理后的数据,需要看的童鞋可以参考一下。
射频噪声干扰,噪声调频干扰,噪声调幅干扰模式的仿真以及SAR成像的仿真实现
合成孔径雷达成像中的运动补偿MATLAB程序,供做SAR的参考学习
SAR滤波MATLAB程序,对SAR图像进行滤波
两个12bit的SAR_ADC的simulink模型
SAR影像滤波程序
基于深度学习的SAR目标检测方法.pdf