分类: LINUX
2009-03-23 11:09:58
* iostat 工具提供CPU使用率及硬盘吞吐效率的数据;
* mpstat 工具提供单个处理器或多个处理器相关数据;
* sar 工具负责收集、报告并存储系统活跃的信息;
* sa1 工具负责收集并存储每天系统动态信息到一个二进制的文件中。它是通过计划任务工具cron来运行,
是为sadc所设计的程序前端程序;
* sa2 工具负责把每天的系统活跃性息写入总结性的报告中。它是为sar所设计的前端,要通过cron来调用
* sadc 是系统动态数据收集工具,收集的数据被写一个二进制的文件中,它被用作sar工具的后端;
* sadf 显示被sar通过多种格式收集的数据;
[root@localhost ~]# apt-get install sysstat
[root@localhost ~]# yum install sysstat
[root@localhost ~]#rpm -ivh sysstat*.rpm
[root@localhost ~]# installpkg sysstat*.pkg
[root@localhost ~]# tar zxvf sysstat-6.1.2.tar.gz
[beinan@localhost ~]$ cd sysstat-6.1.2
[beinan@localhost sysstat-6.1.2]#
[beinan@localhost sysstat-6.1.2]# make config
[beinan@localhost sysstat-6.1.2]# make
[beinan@localhost sysstat-6.1.2]# make install
# 8am-7pm activity reports every 10 minutes during weekdays
0 8-18 * * 1-5 /usr/lib/sa/sa1 600 6 &
# 7pm-8am activity reports every hour during weekdays
0 19-7 * * 1-5 /usr/lib/sa/sa1 &
# Activity reports every hour on Saturday and Sunday
0 * * * 0,6 /usr/lib/sa/sa1 &
# Daily summary prepared at 19:05 5 19 * * * /usr/lib/sa/sa2 -A &
[root@localhost ~]# touch /etc/rc.d/init.d/sysstat
[root@localhost ~]# vi /etc/rc.d/init.d/sysstat
#!/bin/sh
# Begin $rc_base/init.d/sysstat
# Based on sysklogd script from LFS-3.1 and earlier.
# Rewritten by Gerard Beekmans -
. /etc/sysconfig/rc
. $rc_functions
case "$1" in
start)
echo "Calling the system activity data collector (sadc)..."
/usr/lib/sa/sadc -F -L -
evaluate_retval
;;
*)
echo "Usage: $0 start"
exit 1
;;
esac
# End $rc_base/init.d/sysstat
[root@localhost ~]# chmod 755 /etc/rc.d/init.d/sysstat
[root@localhost ~]# ln -sf /etc/rc.d/init.d/sysstat /etc/init.d/sysstat
[root@localhost ~]# /etc/rc.d/init.d/sysstat start
下面的方法也行;
[root@localhost ~]# /usr/lib/sa/sa1
[root@localhost ~]# /usr/lib/sa/sa2
/usr/lib/sa/sadc [ -d ] [ -F ] [ -I ] [ -L ] [ -V ] [ interval [ count ] ] [ outfile ]
-d 报告硬盘设置的相关统计;
-F 强制把数据写入文件;
-I 报告所有系统中断数据;
interval 表示时间间隔,单位是秒,比如3 ;
count 统计数据的次数,也是一个数字;
outfile 输出统计到outfile文件;
[root@localhost beinan]# /usr/lib/sa/sadc -
[root@localhost beinan]# ls /var/log/sa 注:列出所有sa目录下的文件,根据文件的时间来判断哪个文件是最新的;
[root@localhost beinan]# sar -f /var/log/sa/sa12
或
[root@localhost beinan]# sadf /var/log/sa/sa12
[root@localhost ~]# /usr/lib/sa/sadc 1 10 sa000[root@localhost ~]# sar -f sa000Linux 2.6.15-1.2054_FC5 (localhost.localdomain) 2006年05月12日09时15分30秒 CPU %user %nice %system %iowait %idle09时15分31秒 all 3.00 0.00 0.00 1.00 96.0009时15分32秒 all 0.00 0.00 0.00 0.00 100.0009时15分33秒 all 0.00 0.00 0.00 0.00 100.0009时15分34秒 all 0.00 0.00 0.00 0.00 100.0009时15分35秒 all 0.00 0.00 0.00 0.00 100.0009时15分36秒 all 0.00 0.00 0.00 0.00 100.0009时15分37秒 all 0.00 0.00 0.00 0.00 100.0009时15分38秒 all 0.00 0.00 0.00 0.00 100.0009时15分39秒 all 0.00 0.00 0.00 0.00 100.00Average: all 0.33 0.00 0.00 0.11 99.56
sar [参数选项]
-A 显示所有历史数据,通过读取/var/log/sar 目录下的所有文件,并把它们分门别类的显示出来;
-b 通过设备的I/O中断读取设置的吞吐率;
-B 报告内存或虚拟内存交换统计;
-c 报告每秒创建的进程数;
-d 报告物理块设备(存储设备)的写入、读取之类的信息,如果直观一点,可以和p参数共同使用,-dp
-f 从一个二进制的数据文件中读取内容,比如 sar -f filename
-i interval 指定数据收集的时间,时间单位是秒;
-n 分析网络设备状态的统计,后面可以接的参数有 DEV、EDEV、NFS、NFSD、SOCK等。比如-n DEV
-o 把统计信息写入一个文件,比如 -o filename ;
-P 报告每个处理器应用统计,用于多处理器机器,并且启用SMP内核才有效;
-p 显示友好设备名字,以方便查看,也可以和-d 和-n 参数结合使用,比如 -dp 或-np
-r 内存和交换区占用统计;
-R
-t 这个选项对从文件读取数据有用,如果没有这个参数,会以本地时间为标准读出;
-u 报告CPU利用率的参数;
-v 报告inode, 文件或其它内核表的资源占用信息;
-w 报告系统交换活动的信息; 每少交换数据的个数;
-W 报告系统交换活动吞吐信息;
-x 用于监视进程的,在其后要指定进程的PID值;
-X 用于监视进程的,但指定的应该是一个子进程ID;
[root@localhost ~]# sar
[root@localhost ~]# sar -A 注:读取/var/log/sa目录下所有文件数据;
[root@localhost ~]# sar -u 1 5Linux 2.6.15-1.2054_FC5 (localhost.localdomain) 2006年05月12日时间 CPU 利用率 nice值 系统占用 IO占用 空闲11时19分34秒 CPU %user %nice %system %iowait %idle11时19分35秒 all 2.97 0.00 0.00 0.00 97.0311时19分36秒 all 11.11 0.00 9.09 0.00 79.8011时19分37秒 all 21.78 0.00 6.93 0.00 71.2911时19分38秒 all 15.00 0.00 0.00 0.00 85.0011时19分39秒 all 8.00 0.00 0.00 0.00 92.00Average: all 11.78 0.00 3.19 0.00 85.03
[root@localhost ~]# sar -u 1 5 > sar000.txt
[root@localhost ~]# more sar000.txt
[root@localhost ~]# sar -u 1 5 -o sar002
[root@localhost ~]# sar -f sar002
[root@localhost ~]# sar -n DEV 2 5
时间 IFACE rxpck/s txpck/s rxbyt/s txbyt/s rxcmp/s txcmp/s rxmcst/s
第一字段:时间;IFACE:设备名;rxpck/s:每秒收到的包;rxbyt/s:每秒收到的所有包的体积;txbyt/s:每秒传输的所有包的体积;rxcmp/s:每秒收到数据切割压缩的包总数;txcmp/s :每秒传输的数据切割压缩的包的总数;rxmcst/s: 每秒收到的多点传送的包;
[root@localhost ~]# sar -n DEV 2 5 |grep eth0
11时52分37秒 eth0 1.00 1.00 97.51 97.51 0.00 0.00 0.00
11时52分39秒 eth0 1.01 1.01 98.49 98.49 0.00 0.00 0.00
11时52分41秒 eth0 1.00 1.00 98.00 98.00 0.00 0.00 0.00
11时52分43秒 eth0 1.00 1.00 98.00 98.00 0.00 0.00 0.00
11时52分45秒 eth0 1.00 1.00 98.00 98.00 0.00 0.00 0.00
Average: eth0 1.00 1.00 98.00 98.00 0.00 0.00 0.00
[root@localhost ~]# sar -n EDEV 2 5
[root@localhost ~]# iostatLinux 2.6.15-1.2054_FC5 (localhost.localdomain) 2006年05月12日avg-cpu: %user %nice %system %iowait %idle 7.24 0.00 0.99 0.35 91.43Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtnhda 1.46 28.43 21.43 710589 535680
[root@localhost ~]# mpstat -P 0 2 10 注:查看第一个CPU
[root@localhost ~]# mpstat -p 1 2 10 注:查看第二个CPU
[root@localhost ~]# mpstat 2 10 注:查看所有CPU;
[root@localhost ~]# sar -u 2 5 -o sar003
[root@localhost ~]# sadf sar003
[root@localhost ~]# sar -f sar003
[root@localhost ~]# free
[root@localhost ~]# free -m
total used free shared buffers cached
Mem: 724 713 11 0 24 290
-/+ buffers/cache: 398 326
Swap: 800 0 800
vmstat [-V] [-n] [delay [count]]
-V 显示vmstat的版本;
-n causes the headers not to be reprinted regularly.
-a 显示所有激活和未激活内存的状态;print inactive/active page stats.
-d 显示硬盘统计信息;prints disk statistics
-D 显示硬盘分区表;prints disk table
-p 显示硬盘分区读写状态等;prints disk partition statistics
-s 显示内存使用情况;prints vm table
-m prints slabinfo
-S 定义单位,k K
delay 是两次刷新时间间隔;
单位体积: k:1000 K:1024 m:1000000 M:1048576 (默认是 K)
count 刷新次数;
*********************************************************************