linux sysstat相关工具sar、iostat..
时间:2010-10-15 来源:chenchao40322
Sysstat是linux系统上的状态查看工具,包含监测系统性能及效率的一组工具,这些工具对于我们
收集系统性能数据,比如CPU使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们
判断系统是否正常运行,是提高系统运行效率、安全运行服务器的得力助手;
Sysstat 软件包集成如下工具:
iostat : reports CPU statistics and input/output statistics for devices, partitions
and network filesystems.
报告cpu使用率以及硬盘网络的吞吐量。
mpstat:reports individual or combined processor related statistics.
提供单个处理器或多个处理器相关数据;
pidstat:reports statistics for Linux tasks (processes) : I/O, CPU, memory, etc.
报告linux上的进程io、cpu、内存等的使用率。
sar: collects, reports and saves system activity information (CPU, memory,
disks, interrupts, network interfaces, TTY, kernel tables,etc.)
工具负责收集、报告并存储系统活跃的信息;
sadc: is the system activity data collector, used as a backend for sar.是系统动态
数据收集工具,收集的数据被写一个二进制的文件中,它被用作sar工具的后端;
sa1: collects and stores binary data in the system activity daily data file. It is a
front end to sadc designed to be run from cron.
工具负责收集并存储每天系统动态信息到一个二进制的文件中。它是通过计划任务工具
cron来运行,是为sadc所设计的程序前端程序;
sa2: writes a summarized daily activity report. It is a front end to sar designed
to be run from cron.
工具负责把每天的系统活跃性息写入总结性的报告中。它是为sar所设计的前端 ,要通过
cron来调用
sadf: displays data collected by sar in multiple formats (CSV, XML, etc.) This is useful
to load performance data into a database, or import them in a spreadsheet to
make graphs.
显示被sar通过多种格式收集的数据;
nfsiostat: reports input/output statistics for network filesystems (NFS).
报告nfs的吞吐率。
cifsiostat:reports CIFS statistics. 统计cifs的使用情况。
@安装:在centos上可以通过yum安装Sysstat
yum install sysstat
但是安装的不是最新版本,好多功能没有,所以建议用源代码安装。
首先下载最新版sysstat-9.1.5.tar.gz
wget http://pagesperso-orange.fr/sebastien.godard/sysstat-9.1.5.tar.gz
tar zxvf sysstat-9.1.5.tar.gz
cd sysstat-9.1.5
./configure
make
make install
如果没有指定--prefix,默认安装在/usr/local下。
Sysstat 通过a1 和sa2收集系统信息,如果要把收到的信息自动保存到文件中,必须通过cron 为
sa1 和sa2 做计划任务。通过crontab –e 添加如下内容。
# Run system activity accounting tool every 10 minutes
*/10 * * * * root /usr/lib/sa/sa1 -d 1 1
# 0 * * * * root /usr/lib/sa/sa1 -d 600 6 &
# Generate a daily summary of process accounting at 23:53
53 23 * * * root /usr/lib/sa/sa2 –A
@Sysstat 工具集介绍:pidstat:
-d | 统计io状况 |
-c string | 只显示名字中包含string的进程 |
-I | 在smp环境中,显示每个cpu的占用率 |
-l | 显示进程命令的名字以及参数 |
-p | 进程pid |
-r | 报告页错误和内存使用情况。 |
-s | 报告栈的使用情况。 |
-t | 报告进程相关的线程情况 |
-T | 定义监视的类型(TASK:只统计指定进程;CHILD:统计指定进程以及子进程;ALL统计指定进程所属的进程及其所有子进程) |
-u | 报告cpu使用率 |
sadc :
位于 /usr/lib/sa目录中,sadc 是把数据写在一个二进制的文件中,需要用sadf工具来显示保存的内容;
/usr/local/lib/sa/sadc [ -C comment ] [ -S { INT | DISK | SNMP | IPV6 | POWER | XDISK |
ALL | XALL } ] [ -F ] [ -L ] [ -V ] [ interval [ count ] ] [ outfile ]
-F 强制把数据写入文件;
-L 在写或者删除文件的时候获得独占锁,如果有不能获得锁,会在下一个间隔重试获得锁。防止多个进程同时写文件,导致文件损坏。
-S { INT | DISK | SNMP | IPV6 | POWER | XDISK | ALL | XALL }:指定哪种数据要被sadc收集。
-V 版本信息
interval 表示时间间隔,单位是秒,比如3 ;
count 统计数据的次数,也是一个数字;
outfile 输出统计到outfile文件;
sadc在interval间隔内抽样系统数据count次,并以二进制形式写入outfile或标准输出,如果输入文件设置为-,则使用sysstat默认的路径,通常在/var/log/sa/sadd文件中,dd表示当前的天数,如sa1。默认sadc收集除了中断和磁盘以为的所有的数据,如果要收集磁盘和中断数据,必须用-S明确指明。当count参数没有指定时,sadc永远不停的写入收集到的数据;当count和interval都没有指定的时候,会创建一个空文件。XDISK是DISK的一个扩展,它比DISK多统计分区的信息。ALL包括除了XDISK,XALL包括所有。
sar :
-A | 显示所有历史数据 |
-b | io吞吐率的统计 |
-B | 报告页信息 |
-d | 报告物理块设备(存储设备)的写入、读取之类的信息,如果直观一点,可以和p参数共同使用,-dp |
-f | 从一个二进制的数据文件中读取内容 |
-i interval | 指定数据收集的时间,时间单位是秒 |
-e[ hh:mm:ss ] | 设置结束的时间 |
-n | 显示网络统计 |
-o | 把统计信息写入一个文件 |
-P | 报告每个处理器应用统计,用于多处理器机器,并且启用SMP内核才有效; |
-p | 显示友好设备名字,以方便查看 |
-q | 显示运行队列的统计和负载 |
-r | 显示内存使用情况 |
-R | 显示内存统计 |
-S | 显示交换分区统计 |
-t | 这个选项对从文件读取数据有用,如果没有这个参数,会以本地时间为标准读出 |
-u | 报告CPU利用率的参数 |
-v | 报告inode, 文件或其它内核表的资源占用信息; |