`
QING____
  • 浏览: 2234175 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

sar指令学习

 
阅读更多

    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

3)http://lovesoo.org/linux-sar-command-detailed.html

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics