系统状态查看工具systat(转)

系统状态查看工具systat(转)[@more@]

  1、关于 Sysstat;

  Sysstat 是一个软件包,包含监测系统性能及效率的一组工具,这些工具对于我们收集系统性能数据,比如CPU使用率、硬盘和网络吞吐数据,这些数据的收集和分析,有利于我们判断系统是否正常运行,是提高系统运行效率、安全运行服务器的得力助手;

  Sysstat 软件包集成如下工具:

  * iostat 工具提供CPU使用率及硬盘吞吐效率的数据;

  * mpstat 工具提供单个处理器或多个处理器相关数据;

  * sar 工具负责收集、报告并存储系统活跃的信息;

  * sa1 工具负责收集并存储每天系统动态信息到一个二进制的文件中。它是通过计划任务工具cron来运行,

  是为sadc所设计的程序前端程序;

  * sa2 工具负责把每天的系统活跃性息写入总结性的报告中。它是为sar所设计的前端 ,要通过cron来调用

  * sadc 是系统动态数据收集工具,收集的数据被写一个二进制的文件中,它被用作sar工具的后端;

  * sadf 显示被sar通过多种格式收集的数据;

  2、安装 Sysstat和运行;

  对于大多数系统,都有这个软件包,软件名以sysstat开头。我们可以通过网络安装它;

  2.1 对于Debian或deb软件包为基础的系统;

  [root@localhost ~]# apt-get install sysstat

  2.2 Fedora 系统或以RPM包管理的系统;

  [root@localhost ~]# yum install sysstat

  如果是RPM包,请用下面的命令来安装;

  [root@localhost ~]#rpm -ivh sysstat*.rpm

  如果您想了解yum 和rpm 软件包管理工具,请参考:《Fedora / Redhat 软件包管理指南》

  2.3 Slackware 系统,对于Slackware系统;

  [root@localhost ~]# installpkg sysstat*.pkg

  2.4 通过源码包编译安装;

  如果您是通过源码包安装,请到官方下源源码包 http://perso.wanadoo.fr/sebastien.godard,目前最新版本是 sysstat-6.1.2;

  如果您想了想一下什么是源码包,请参考:《如何编译安装源码包软件》

  [root@localhost ~]# tar zxvf sysstat-6.1.2.tar.gz

  [beinan@localhost ~] $ cd sysstat-6.1.2

  [beinan@localhost sysstat-6.1.2]#

  [beinan@localhost sysstat-6.1.2]# make config

  [beinan@localhost sysstat-6.1.2]# make

  [beinan@localhost sysstat-6.1.2]# make install

  2.5 关于 Sysstat 计划任务;

  如果您想得到Sysstat工具集所收集的系统信息自动存为某个文件中,你必须通过cron 为 sa1 和sa2 做计划任务。我们可以通过修改用户的crontab。在默认的情况下,Sysstat历史信息将被存放在/var/log/sa文件中。如果想定义自己的计划任务,请参考:《计划任务工具 cron 的配置和说明》

  在root用户,通过 crontab -e 来添加下面的一段;

  # 8am-7pm activity reports every 10 minutes during weekdays

  0 8-18 * * 1-5 /usr/lib/sa/sa1 600 6 &

  # 7pm-8am activity reports every hour during weekdays

  0 19-7 * * 1-5 /usr/lib/sa/sa1 &

  # Activity reports every hour on Saturday and Sunday

  0 * * * 0,6 /usr/lib/sa/sa1 &

  # Daily summary prepared at 19:05 5 19 * * * /usr/lib/sa/sa2 -A &

  创建Sysstat的启动脚本;

  [root@localhost ~]# touch /etc/rc.d/init.d/sysstat

[root@localhost ~]# vi /etc/rc.d/init.d/sysstat

#!/bin/sh

# Begin  $rc_base/init.d/sysstat

# Based on sysklogd script from LFS-3.1 and earlier.

# Rewritten by Gerard Beekmans - gerard@linuxfromscratch.org

. /etc/sysconfig/rc

.  $rc_functions

case " $1" in

      start)

           echo "Calling the system activity data collector (sadc)..."

           /usr/lib/sa/sadc -F -L -

           evaluate_retval

           ;;

      *)

           echo "Usage:  $0 start"

           exit 1

           ;;

esac

# End  $rc_base/init.d/sysstat

[root@localhost ~]# chmod 755 /etc/rc.d/init.d/sysstat

[root@localhost ~]# ln -sf /etc/rc.d/init.d/sysstat /etc/init.d/sysstat

  有了Sysstat的守护进程,这样我们开机后,Sysstat的守护进程,就时时刻刻的为我们服务了。sa 、sa1或sa2自动把信息存在 /var/log/sa目录的二进制文件中,我们可以通过sar工具来提取这些系统信息的历史;

  当然我们也可以通过手动的方法来打开Sysstat的守护程序,也就是我们前面所制作的sysstat;

  [root@localhost ~]# /etc/rc.d/init.d/sysstat start

  下面的方法也行;

  [root@localhost ~]# /usr/lib/sa/sa1

  [root@localhost ~]# /usr/lib/sa/sa2

  3.Sysstat 工具集介绍;

  3.1 sadc 工具,

  sadc 位于 /usr/lib/sa目录中,如果你没有设置可执行路径,要用绝对路径来运行比较方便 ,/usr/lib/sa/sadc;sadc 是把数据写在一个二进制的文件中,如果想查看数据内容,需要用sadf工具来显示;

  sadc 的用法;

  /usr/lib/sa/sadc [ -d ] [ -F ] [ -I ] [ -L ] [ -V ] [ interval [ count ] ] [ outfile ]

  参数说明:

  -d 报告硬盘设置的相关统计;

  -F 强制把数据写入文件;

  -I 报告所有系统中断数据;

  interval 表示时间间隔,单位是秒,比如3 ;

  count 统计数据的次数,也是一个数字;

  outfile 输出统计到outfile文件;

  注意:此工具中的参数都是可选的,如果没有指定任何参数,比如 /usr/lib/sa/sadc - ,则会输出数据到 /var/log/sa/ 目录下的一个文件中。我们要通过sadf 或sar工具来查看;

  [root@localhost beinan]# /usr/lib/sa/sadc -

  [root@localhost beinan]# ls /var/log/sa 注:列出所有sa目录下的文件,根据文件的时间来判断哪个文件是最新的;

  [root@localhost beinan]# sar -f /var/log/sa/sa12

  或

  [root@localhost beinan]# sadf /var/log/sa/sa12

  举例:我们想把sadc收集到的数据写到一个指定的文件中;

  [root@localhost ~]# /usr/lib/sa/sadc 1 10 sa000

[root@localhost ~]# sar -f sa000

Linux 2.6.15-1.2054_FC5 (localhost.localdomain)      2006年05月12日

09时15分30秒    CPU   %user   %nice  %system  %iowait   %idle

09时15分31秒    all    3.00    0.00    0.00    1.00   96.00

09时15分32秒    all    0.00    0.00    0.00    0.00  100.00

09时15分33秒    all    0.00    0.00    0.00    0.00  100.00

09时15分34秒    all    0.00    0.00    0.00    0.00  100.00

09时15分35秒    all    0.00    0.00    0.00    0.00  100.00

09时15分36秒    all    0.00    0.00    0.00    0.00  100.00

09时15分37秒    all    0.00    0.00    0.00    0.00  100.00

09时15分38秒    all    0.00    0.00    0.00    0.00  100.00

09时15分39秒    all    0.00    0.00    0.00    0.00  100.00

Average:      all    0.33    0.00    0.00    0.11   99.56

  注解:我们用sadc 收集系统动态数据,让它收集1秒之内的10次动态信息; 然后通过sar 工具来查看系统的状态。也可以用 sadf 来查看所收集的数据,但不是太直观。您自己尝试一下看看。查看sa000文件,用 sadf sa000 ;

  3.2 sar 工具;

  sar 工具比较强大,既能收集系统CPU、硬盘、动态数据,也能显示动态显示,更能查看二进制数据文件;sar 的应用比较多,而且也比较复杂,数据更为精确。我们只了解一下常用的内容就行,大多数内容我们了解就行;

  用法:

  sar [参数选项]

  参数说明:

  -A 显示所有历史数据,通过读取/var/log/sar 目录下的所有文件,并把它们分门别类的显示出来;

  -b 通过设备的I/O中断读取设置的吞吐率;

  -B 报告内存或虚拟内存交换统计;

  -c 报告每秒创建的进程数;

  -d 报告物理块设备(存储设备)的写入、读取之类的信息,如果直观一点,可以和p参数共同使用,-dp

  -f 从一个二进制的数据文件中读取内容,比如 sar -f filename

  -i interval 指定数据收集的时间,时间单位是秒;

  -n 分析网络设备状态的统计,后面可以接的参数有 DEV、EDEV、NFS、NFSD、SOCK等。比如-n DEV

  -o 把统计信息写入一个文件,比如 -o filename ;

  -P 报告每个处理器应用统计,用于多处理器机器,并且启用SMP内核才有效;

  -p 显示友好设备名字,以方便查看,也可以和-d 和-n 参数结合使用,比如 -dp 或-np

  -r 内存和交换区占用统计;

  -R

  -t 这个选项对从文件读取数据有用,如果没有这个参数,会以本地时间为标准 读出;

  -u 报告CPU利用率的参数;

  -v 报告inode, 文件或其它内核表的资源占用信息;

  -w 报告系统交换活动的信息; 每少交换数据的个数?

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/10748419/viewspace-939798/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/10748419/viewspace-939798/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值