Linux服务器性能数据收集 - Sysstat介绍

Linux中的top,free等命令不能完全满足我们性能数据收集的要求,我们需要一个更加强大的工具来收集性能数据。经过考察和对比,发现Sysstat是一个非常强大的工具,因此下载了试了下,效果不错。Sysstat是一个工具集,包括sarpidstatiostatmpstatsadfsadc。其中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 -3132 2 5 

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

    pidstat -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 -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 -15:00:00 > data.txt

    //每隔1秒记录CPU的使用情况,直到15点,数据将保存到data.txt文件中。(-e 参数表示结束时间,注意时间格式:必须为hh:mm:ss格式)

    sar 1 0 --15:00:00 > data.txt

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

    sar 1 0 -n DEV -15:00:00 > data.txt

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

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

    Linux 2.6.18-53.el5 (Performancesvr5)  2008年05月05日     _x8664

     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的使用情况了。

  2. 保存为二进制文件

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

    sar 1 5 --o data

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

    sar -f data

    //查看data文件

            官方资料:http://pagesperso-orange.fr/sebastien.godard/documentation.html

[温馨提示]:该文章由原博客园导入而来,如排版效果不佳,请移步:http://www.cnblogs.com/coderzh/archive/2008/05/05/1183125.html

微信扫一扫交流

作者:CoderZh
微信关注:hacker-thinking (一个程序员的思考)
本文出处:https://blog.coderzh.com/2008/05/05/1183125/
文章版权归本人所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。