//查看指定文件CPU使用记录
    #sar -f /var/log/sa/sa03
    00:00:01 CPU %user %nice %system %iowait %idle
    00:10:01 all 52.32 0.00 30.92 1.40 15.37
    00:20:01 all 50.11 0.00 28.97 0.82 20.10
    00:30:01 all 45.94 0.00 26.23 0.88 26.95
    00:40:02 all 44.92 0.00 25.54 0.81 28.73
    00:50:01 all 45.34 0.00 26.17 0.77 27.72
    01:00:01 all 43.23 0.00 24.85 0.94 30.97
    01:10:01 all 43.65 0.00 25.15 0.84 30.36
    01:20:01 all 43.13 0.00 24.99 0.92 30.96

    //查看指定文件1/5/15分钟平均负载记录
    #sar -q -f /var/log/sa/sa03
    00:00:01 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15
    00:10:01 5 330 15.00 17.72 17.09
    00:20:01 4 331 8.02 13.84 16.11
    00:30:01 4 331 17.79 13.42 14.56
    00:40:02 12 332 11.66 12.31 13.51
    00:50:01 3 326 13.88 12.23 12.90
    01:00:01 26 337 10.10 12.03 12.42
    01:10:01 8 334 12.34 10.78 11.46
    01:20:01 13 329 10.00 11.58 11.49

    //查看指定文件7点到9点CPU使用记录,如要看负载加参数-q
    #sar -s 07:00:00 -e 10:00:00 -f /var/log/sa/sa03
    07:00:01 CPU %user %nice %system %iowait %idle
    07:10:01 all 42.39 0.00 23.54 0.64 33.43
    07:20:01 all 41.42 0.00 24.47 0.77 33.34
    07:30:01 all 42.93 0.00 25.55 0.75 30.77
    07:40:01 all 50.33 0.00 29.08 0.66 19.92
    07:50:01 all 51.40 0.00 30.30 0.69 17.61
    08:00:01 all 47.63 0.00 28.37 0.66 23.34
    08:10:01 all 44.23 0.00 26.30 0.71 28.76
    08:20:01 all 43.46 0.00 24.58 0.58 31.37
    08:30:01 all 43.86 0.00 26.06 0.60 29.49
    08:40:01 all 44.80 0.00 26.86 0.66 27.67
    08:50:02 all 47.46 0.00 27.16 0.51 24.87
    09:00:01 all 46.10 0.00 27.61 0.47 25.81
    09:10:01 all 46.95 0.00 27.95 0.69 24.40
    09:20:02 all 49.30 0.00 28.27 0.79 21.64
    09:30:01 all 49.99 0.00 29.07 0.64 20.30
    09:40:01 all 51.41 0.00 30.75 0.52 17.32
    09:50:01 all 51.49 0.00 30.20 0.66 17.65
    Average: all 46.77 0.00 27.42 0.65 25.16

    安装sysstat工具包后会自动每10分钟采集一次
    脚本在/etc/cron.d/sysstat
    默认只保留7天的文件
    要保留更长时间要修改配置文件
    有人觉得是修改/etc/sysconfig/sysstat这个文件,其实不是的
    应该是/usr/lib/sa/sa2(64位/usr/lib64/sa/sa2),来看看里面的代码
    HISTORY=7
    [ -r /etc/sysconfig/sysstat ] && . /etc/sysconfig/sysstat
    [ ${HISTORY} -gt 28 ] && HISTORY=28
    #就是这个了,如果sysstat文件设置了历史天数超过28天就不会生效的
    超过28天就要修改这个地方了。

    不要小看这个命令,它能够让你对系统运行情况了如指掌。

    细化补充:
    -A:所有报告的总和

    -u:输出CPU使用情况的统计信息

    -v:输出inode、文件和其他内核表的统计信息

    -d:输出每一个块设备的活动信息

    -r:输出内存和交换空间的统计信息

    -b:显示I/O和传送速率的统计信息

    -a:文件读写情况

    -c:输出进程统计信息,每秒创建的进程数

    -R:输出内存页面的统计信息

    -y:终端设备活动情况

    -w:输出系统交换活动信息

     内存分页监控:
    sar -r -f /var/log/sa29    //查看历史内存
    kbmemfree:这个值和free命令中的free值基本一致,所以它不包括buffer和cache的空间.

    kbmemused:这个值和free命令中的used值基本一致,所以它包括buffer和cache的空间.

    %memused:这个值是kbmemused和内存总量(不包括swap)的一个百分比.

    kbbuffers和kbcached:这两个值就是free命令中的buffer和cache.

    kbcommit:保证当前系统所需要的内存,即为了确保不溢出而需要的内存(RAM+swap).

    %commit:这个值是kbcommit与内存总量(包括swap)的一个百分比.

    内存分页监控

    例如,每10秒采样一次,连续采样3次,监控内存分页:

    sar -B 10 3
    输出项说明:

    pgpgin/s:表示每秒从磁盘或SWAP置换到内存的字节数(KB)

    pgpgout/s:表示每秒从内存置换到磁盘或SWAP的字节数(KB)

    fault/s:每秒钟系统产生的缺页数,即主缺页与次缺页之和(major + minor)

    majflt/s:每秒钟产生的主缺页数.

    pgfree/s:每秒被放入空闲队列中的页个数

    pgscank/s:每秒被kswapd扫描的页个数

    pgscand/s:每秒直接被扫描的页个数

    pgsteal/s:每秒钟从cache中被清除来满足内存需要的页个数

    %vmeff:每秒清除的页(pgsteal)占总扫描页(pgscank+pgscand)的百分比

    I/O和传送速率监控

    每10秒采样一次,连续采样3次,报告缓冲区的使用情况,需键入如下命令:

    sar -b 10 3

    屏幕显示如下:

    18:51:05 tps rtps wtps bread/s bwrtn/s

    18:51:15 0.00 0.00 0.00 0.00 0.00

    18:51:25 1.92 0.00 1.92 0.00 22.65

    18:51:35 0.00 0.00 0.00 0.00 0.00

    Average: 0.64 0.00 0.64 0.00 7.59

    输出项说明:

    tps:每秒钟物理设备的 I/O 传输总量

    rtps:每秒钟从物理设备读入的数据总量

    wtps:每秒钟向物理设备写入的数据总量

    bread/s:每秒钟从物理设备读入的数据量,单位为 块/s

    bwrtn/s:每秒钟向物理设备写入的数据量,单位为 块/s

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

    例如,每10秒采样一次,连续采样3次,监控进程队列长度和平均负载状态:

    sar -q 10 3

    屏幕显示如下:

    19:25:50 runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15

    19:26:00 0 259 0.00 0.00 0.00

    19:26:10 0 259 0.00 0.00 0.00

    19:26:20 0 259 0.00 0.00 0.00

    Average: 0 259 0.00 0.00 0.00

    输出项说明:

    runq-sz:运行队列的长度(等待运行的进程数)

    plist-sz:进程列表中进程(processes)和线程(threads)的数量

    ldavg-1:最后1分钟的系统平均负载(System load average)

    ldavg-5:过去5分钟的系统平均负载

    ldavg-15:过去15分钟的系统平均负载

    7. 系统交换活动信息监控

    例如,每10秒采样一次,连续采样3次,监控系统交换活动信息:

    sar -    W 10 3

    屏幕显示如下:

    19:39:50 pswpin/s pswpout/s

    19:40:00 0.00 0.00

    19:40:10 0.00 0.00

    19:40:20 0.00 0.00

    Average: 0.00 0.00

    输出项说明:

    pswpin/s:每秒系统换入的交换页面(swap page)数量

    pswpout/s:每秒系统换出的交换页面(swap page)数量

    8. 设备使用情况监控

    例如,每10秒采样一次,连续采样3次,报告设备使用情况,需键入如下命令:

    # sar -d 10 3 –p

    屏幕显示如下:

    17:45:54    DEV    tps    rd_sec/s    wr_sec/s    avgrq-sz    avgqu-sz    await    svctm    %util

    17:46:04    scd0    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00

    17:46:04    sda    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00

    17:46:04    vg_livedvd-lv_root    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00

    17:46:04    vg_livedvd-lv_swap    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00

    其中:

    参数-p可以打印出sda,hdc等磁盘设备名称,如果不用参数-p,设备节点则有可能是dev8-0,dev22-0

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

     inode、文件和其他内核表监控

    例如,每10秒采样一次,连续采样3次,观察核心表的状态,需键入如下命令:

    sar -v 10 3

    屏幕显示如下:

    17:10:49 dentunusd file-nr inode-nr pty-nr

    17:10:59 6301 5664 12037 4

    17:11:09 6301 5664 12037 4

    17:11:19 6301 5664 12037 4

    Average: 6301 5664 12037 4

    输出项说明:

    dentunusd:目录高速缓存中未被使用的条目数量

    file-nr:文件句柄(file handle)的使用数量

    inode-nr:索引节点句柄(inode handle)的使用数量

    pty-nr:使用的pty数量

    查看页面交换发生状况
    sar -W
    页面发生交换时,服务器的吞吐量会大幅下降;服务器状况不良时,如果怀疑因为内存不足而导致了页面交换的发生,可以使用这个命令来确认是否发生了大量的交换;
    pswpin/s:每秒系统换入的交换页面(swap page)数量
    pswpout/s:每秒系统换出的交换页面(swap page)数量