Linux中的top,free等命令不能完全满足我们性能数据收集的要求,我们需要一个更加强大的工具来收集性能数据。经过考察和对比,发现Sysstat是一个非常强大的工具,因此下载了试了下,效果不错。Sysstat是一个工具集,包括sar、pidstat、iostat、mpstat、sadf、sadc。其中sar是其中最强大,也是最能符合我们测试要求的工具,同时pidstat也是非常有用的东东,因此本文结合性能测试重点介绍这两个工具。
Sysstat的安装
从[url]http://pagesperso-orange.fr/sebastien.godard/download.html[/url]下载最新版本,解压,安装
 wget [url]http://pagesperso-orange.fr/sebastien.godard/sysstat-8.1.2.tar.gz[/url]
tar zxvf sysstat-8.1.2.tar.gz
cd sysstat-8.1.2
./configure
make
su

make install 监视某个进程 通过ps命令找到相应进程的PID:
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍ps -e
使用pidstat命令监视进程,详细用法见:[url]http://pagesperso-orange.fr/sebastien.godard/man_pidstat.html[/url]
pidstat 2 5 
//每隔2秒,显示5次,所有活动进程的CPU使用情况
pidstat -p 3132 2 5 
//每隔2秒,显示5次,PID为1643的进程的CPU使用情况显示
pidstat -p 3132 2 5 -r
//每隔2秒,显示5次,PID为1643的进程的内存使用情况显示很可惜的是,pidstat命令没有保存性能数据的功能。 查看性能数据
在sysstat工具包中,sar是最强大的了,通过sar几乎可以监视所有的性能数据,同时,sar还支持将性能数据保存起来。
sar详细用法请见:[url]http://pagesperso-orange.fr/sebastien.godard/man_sar.html[/url]
查看CPU使用情况
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍sar 2 5
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍//每隔2秒,显示5次,CPU使用的情况查看内存使用情况
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍sar -r 2 5
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍//每隔2秒,显示5次,内存使用的情况查看网络吞吐量
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍sar -n DEV 2 5
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍//每隔2秒,显示5次,网络吞吐量情况保存性能数据
sar支持保存成两种格式的文件,一种是文本文件,一种是二进制文件(只有通过sar自己的命令才能查看)。
保存为文本文件
结合上面的查看命令,加入 > filename 参数即可保存文本文件,下面列出几个有用的命令:
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍sar 1 10 > data.txt
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍//每隔1秒,写入10次,把CPU使用数据保存到data.txt文件中。
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍sar 1 0 -e 15:00:00 > data.txt
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍//每隔1秒记录CPU的使用情况,直到15点,数据将保存到data.txt文件中。(-e 参数表示结束时间,注意时间格式:必须为hh:mm:ss格式)
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍sar 1 0 -r -e 15:00:00 > data.txt
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍//每隔1秒记录内存使用情况,直到15点,数据将保存到data.txt文件中。
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍sar 1 0 -n DEV -e 15:00:00 > data.txt
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍//每隔1秒记录网络使用情况,直到15点,数据将保存到data.txt文件中。用WinSCP工具从Linux服务器上取下data.txt文件,内容如下:
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍Linux 2.6.18-53.el5 (Performancesvr5)  2008年05月05日     _x86_64_
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍 11时04分05秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍 11时04分06秒     all      0.25      0.00      0.00      0.00      0.00     99.75
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍 11时04分07秒     all      0.00      0.00      0.25      0.00      0.00     99.75
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍 11时04分08秒     all      0.25      0.00      0.25      1.50      0.00     98.00
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍 11时04分09秒     all      0.25      0.00      0.00      0.50      0.00     99.25
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍 11时04分10秒     all      0.00      0.00      0.00      0.00      0.00    100.00
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍 11时04分11秒     all      0.25      0.00      0.25      0.00      0.00     99.50
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍 11时04分12秒     all      0.00      0.00      0.25      0.00      0.00     99.75
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍 11时04分13秒     all      0.50      0.00      0.50      0.99      0.00     98.01
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍 11时04分14秒     all      0.00      0.00      0.00      1.25      0.00     98.75
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍 11时04分15秒     all      0.50      0.00      0.00      0.00      0.00     99.50
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍 平均时间:     all      0.20      0.00      0.15      0.42      0.00     99.23有了这份数据,就可以轻松的使用WPS表格来统计CPU的使用情况了。
Linux服务器性能数据收集- Sysstat介绍_linux_30
保存为二进制文件
由于保存的二进制文件只有sar通过-f参数才能打开,不利于我们分析和统计数据,因此不推荐使用这个方法。保存二进制文件的参数是-o,如:
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍sar 1 5 -r -o data
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍//每隔1秒,写入5次,将内存使用的数据写入二进制文件data中。
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍sar -f data
Linux服务器性能数据收集- Sysstat介绍_Sysstat介绍//查看data文件