日期:2014-05-16  浏览次数:20659 次

linux程序分析工具介绍(三)——sar

本文要介绍的sar,是linux下用来分析系统本身运行情况的非常有用的工具。我们知道,程序在操作系统上要运行,要关注的点不外乎内存,CPU和IO(包括磁盘IO和网络IO)。我们的应用程序在操作系统中运行前,我们需要了解系统当前的内存,cpu和IO的使用状况,还需要明白我们的应用程序运行时自身所需要的内存,cpu和IO资源的情况。只有操作系统剩余的内存,cpu和IO资源能够满足应用程序所需要的,才能保证应用程序在操作系统中正常的运行。sar就是用来帮助我们了解操作系统当前内存,cpu和IO等资源的使用情况的一个非常方便的工具,下面通过具体的例子来介绍sar的使用。
??????在介绍例子之前,首先需要说一下sar命令的基本用法:sar [option] [interval] [count]

  • 1. 通过sar获取系统内存使用相关信息
  • (1)内存使用情况统计:-r,通过这个选项,我们可以了解当前系统中内存的使用情况

    1
    2
    3
    4
    5
    6
    7
    8
    
    wuzesheng@ubuntu:~/work/test$ sar -r 1 3
    Linux 2.6.38-8-generic (ubuntu) 	07/09/2011 	_i686_	(2 CPU)
    ?
    06:33:01 PM kbmemfree kbmemused  %memused kbbuffers  kbcached  kbcommit   %commit  kbactive   kbinact
    06:33:02 PM    458664    566488     55.26     96268    265056   1034780     49.95    262500    254888
    06:33:03 PM    458664    566488     55.26     96268    265056   1034780     49.95    262468    254888
    06:33:04 PM    458696    566456     55.26     96268    265056   1034780     49.95    262468    254888
    Average:       458675    566477     55.26     96268    265056   1034780     49.95    262479    254888

    ??????请看上面的例子,sar -r 1 3 表示时间间隔为1秒,统计3次,最后一行为3次的均值。
    (2)换页统计:-B,通过这个选项,我们可以了解当前系统中,页交换的情况

    1
    2
    3
    4
    5
    6
    7
    8
    
    wuzesheng@ubuntu:~/work/test$ sar -B 1 3
    Linux 2.6.38-8-generic (ubuntu) 	07/09/2011 	_i686_	(2 CPU)
    ?
    06:56:48 PM  pgpgin/s pgpgout/s   fault/s  majflt/s  pgfree/s pgscank/s pgscand/s pgsteal/s    %vmeff
    06:56:49 PM      0.00      0.00   1438.00      0.00   3001.00      0.00      0.00      0.00      0.00
    06:56:50 PM      0.00      0.00    796.00      0.00   1620.00      0.00      0.00      0.00      0.00
    06:56:51 PM      0.00      0.00    770.00      0.00   1580.00      0.00      0.00      0.00      0.00
    Average:         0.00      0.00   1001.33      0.00   2067.00      0.00      0.00      0.00      0.00

    ??