Linux服务器性能数据收集【sar、pidstat、iostat、mpstat、sadf、sadc】

sjpeter 2011-07-05

Linux服务器性能数据收集【sar、pidstat、iostat、mpstat、sadf、sadc】

Linux中的top,free等命令不能完全满足我们性能数据收集的要求,我们需要一个更加强大的工具来收集性能数据。

经过考察和对比,发现Sysstat是一个非常强大的工具,因此下载了试了下,效果不错。Sysstat是一个工具集,

包括sar、pidstat、iostat、mpstat、sadf、sadc。其中sar是其中最强大,也是最能符合我们测试要求的工具,

同时pidstat也是非常有用的东东,因此本文结合性能测试重点介绍这两个工具。

Sysstat的安装

从http://pagesperso-orange.fr/sebastien.godard/download.html下载最新版本,解压,安装

wgethttp://pagesperso-orange.fr/sebastien.godard/sysstat-9.1.7.tar.gz

tarzxvfsysstat-8.1.2.tar.gz

cdsysstat-8.1.2

./configure

make

su

<enterrootpassword>

makeinstall

监视某个进程

通过ps命令找到相应进程的PID:

ps-e

使用pidstat命令监视进程,详细用法见:http://pagesperso-orange.fr/sebastien.godard/man_pidstat.html

pidstat25

//每隔2秒,显示5次,所有活动进程的CPU使用情况

pidstat-p313225

//每隔2秒,显示5次,PID为1643的进程的CPU使用情况显示

pidstat-p313225-r

//每隔2秒,显示5次,PID为1643的进程的内存使用情况显示

很可惜的是,pidstat命令没有保存性能数据的功能。

查看性能数据

在sysstat工具包中,sar是最强大的了,通过sar几乎可以监视所有的性能数据,同时,sar还支持将性能数据保存起来。

sar详细用法请见:http://pagesperso-orange.fr/sebastien.godard/man_sar.html

查看CPU使用情况

sar25

//每隔2秒,显示5次,CPU使用的情况

查看内存使用情况

sar-r25

//每隔2秒,显示5次,内存使用的情况

查看网络吞吐量

sar-nDEV25

//每隔2秒,显示5次,网络吞吐量情况

保存性能数据

sar支持保存成两种格式的文件,一种是文本文件,一种是二进制文件(只有通过sar自己的命令才能查看)。

保存为文本文件

结合上面的查看命令,加入>filename参数即可保存文本文件,下面列出几个有用的命令:

sar110>data.txt

//每隔1秒,写入10次,把CPU使用数据保存到data.txt文件中。

sar10-e15:00:00>data.txt

//每隔1秒记录CPU的使用情况,直到15点,数据将保存到data.txt文件中。

(-e参数表示结束时间,注意时间格式:必须为hh:mm:ss格式)

sar10-r-e15:00:00>data.txt

//每隔1秒记录内存使用情况,直到15点,数据将保存到data.txt文件中。

sar10-nDEV-e15:00:00>data.txt

//每隔1秒记录网络使用情况,直到15点,数据将保存到data.txt文件中。

用WinSCP工具从Linux服务器上取下data.txt文件,内容如下:

Linux2.6.18-53.el5(Performancesvr5)2008年05月05日_x86_64_

11时04分05秒CPU%user%nice%system%iowait%steal%idle

11时04分06秒all0.250.000.000.000.0099.75

11时04分07秒all0.000.000.250.000.0099.75

11时04分08秒all0.250.000.251.500.0098.00

11时04分09秒all0.250.000.000.500.0099.25

11时04分10秒all0.000.000.000.000.00100.00

11时04分11秒all0.250.000.250.000.0099.50

11时04分12秒all0.000.000.250.000.0099.75

11时04分13秒all0.500.000.500.990.0098.01

11时04分14秒all0.000.000.001.250.0098.75

11时04分15秒all0.500.000.000.000.0099.50

平均时间:all0.200.000.150.420.0099.23

有了这份数据,就可以轻松的使用WPS表格来统计CPU的使用情况了。

保存为二进制文件

由于保存的二进制文件只有sar通过-f参数才能打开,不利于我们分析和统计数据,因此不推荐使用这个方法。

保存二进制文件的参数是-o,如:

sar15-r-odata

//每隔1秒,写入5次,将内存使用的数据写入二进制文件data中。

sar-fdata

//查看data文件

相关推荐