Linux服务器性能数据收集
Sysstat介绍
Linux中的top,free等命令不能完全满足我们性能数据收集的要求,我们需要一个更加强大的工具来收集性能数据。经过考察和对比,发现Sysstat是一个非常强大的工具,因此下载了试了下,效果不错。Sysstat是一个工具集,包括sar、pidstat、iostat、mpstat、sadf、sadc。其中sar是其中最强大,也是最能符合我们测试要求的工具,同时pidstat也是非常有用的东东,因此本文结合性能测试重点介绍这两个工具。
Sysstat的安装
从http://pagesperso-orange.fr/sebastien.godard/download.html下载最新版本,解压,安装
- wget http://pagesperso-orange.fr/sebastien.godard/sysstat-8.1.2.tar.gz
tar zxvf sysstat-8.1.2.tar.gz
cd sysstat-8.1.2
./configure
make
su
<enter root password>
make install
监视某个进程
1. 通过ps命令找到相应进程的PID:
ps -e
2. 使用pidstat命令监视进程,详细用法见:http://pagesperso-orange.fr/sebastien.godard/man_pidstat.html
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的进程的内存使用情况显示
3. 很可惜的是,pidstat命令没有保存性能数据的功能。
查看性能数据
在sysstat工具包中,sar是最强大的了,通过sar几乎可以监视所有的性能数据,同时,sar还支持将性能数据保存起来。
sar详细用法请见:http://pagesperso-orange.fr/sebastien.godard/man_sar.html
1. 查看CPU使用情况
sar 2 5
//每隔2秒,显示5次,CPU使用的情况
2. 查看内存使用情况
sar -r 2 5
//每隔2秒,显示5次,内存使用的情况
3. 查看网络吞吐量
sar -n DEV 2 5
//每隔2秒,显示5次,网络吞吐量情况
保存性能数据
sar支持保存成两种格式的文件,一种是文本文件,一种是二进制文件(只有通过sar自己的命令才能查看)。
1. 保存为文本文件
结合上面的查看命令,加入 > filename 参数即可保存文本文件,下面列出几个有用的命令:
sar 1 10 > data.txt
//每隔1秒,写入10次,把CPU使用数据保存到data.txt文件中。
sar 1 0 -e 15:00:00 > data.txt
//每隔1秒记录CPU的使用情况,直到15点,数据将保存到data.txt文件中。(-e 参数表示结束时间,注意时间格式:必须为hh:mm:ss格式)
sar 1 0 -r -e 15:00:00 > data.txt
//每隔1秒记录内存使用情况,直到15点,数据将保存到data.txt文件中。
sar 1 0 -n DEV -e 15:00:00 > data.txt
//每隔1秒记录网络使用情况,直到15点,数据将保存到data.txt文件中。
用WinSCP工具从Linux服务器上取下data.txt文件,内容如下:
Linux 2.6.18-53.el5 (Performancesvr5) 2008年05月05日 _x86_64_
11时04分05秒 CPU %user %nice %system %iowait %steal %idle
11时04分06秒 all 0.25 0.00 0.00 0.00 0.00 99.75
11时04分07秒 all 0.00 0.00 0.25 0.00 0.00 99.75
11时04分08秒 all 0.25 0.00 0.25 1.50 0.00 98.00
11时04分09秒 all 0.25 0.00 0.00 0.50 0.00 99.25
11时04分10秒 all 0.00 0.00 0.00 0.00 0.00 100.00
11时04分11秒 all 0.25 0.00 0.25 0.00 0.00 99.50
11时04分12秒 all 0.00 0.00 0.25 0.00 0.00 99.75
11时04分13秒 all 0.50 0.00 0.50 0.99 0.00 98.01
11时04分14秒 all 0.00 0.00 0.00 1.25 0.00 98.75
11时04分15秒 all 0.50 0.00 0.00 0.00 0.00 99.50
平均时间: all 0.20 0.00 0.15 0.42 0.00 99.23
有了这份数据,就可以轻松的使用WPS表格来统计CPU的使用情况了。
保存为二进制文件
由于保存的二进制文件只有sar通过-f参数才能打开,不利于我们分析和统计数据,因此不推荐使用这个方法。保存二进制文件的参数是-o,如:
sar 1 5 -r -o data
//每隔1秒,写入5次,将内存使用的数据写入二进制文件data中。
sar -f data
//查看data文件