快捷搜索:   nginx

Linux系统维护常用工具sysstat

    这个包在各大发行版中都有,如果您试一下有sar这个命令就证明已经有了。如果没有的,可以下载安装上就OK了。为什么系统中有的东西,北南还要写一文不值的文章呢?其实我是来帮助新手弟兄的,呵,并不是给老手什么帮助的,我也帮助不了老企鹅,我总是喜欢自吹自擂,特别是在对这个工具不太懂的弟兄面前。

    正文:

    一、简要介绍:

    sysstat这个工具,可以说是linux &Unix 以及Freebsd最常用的工具。它的主要用途就是观察服务负载,比如CPU和内存的占用率、网络的使用率以及磁盘写入和读取速度等。

    [注]文中有些词语是根据我的理解自造的,术语咱不会,特此声明,以免误导您

    这个包一但安装下去,一般包括如下的几个命令可以使用。

    sar
    iostat
    sa1
    sa2
    sadf
    mpstat
    sadc
    sysstat

    这几个命令中,有的是服务,有的是查看结果的命令。也有的是即时服务器CPU,内存以及网络的使用率

    比如先要打开sa1 sa2或者sysstat 才能使用sar sadf sadc

    还要即时服务器的CPU,内存,网络使用率的命令,比如:mpstat iostat

    至于他们的详细用法,请对这个不太熟悉的弟兄用man来查看帮助,man是最好的教材,如果您不太会用,可以用简单的可以用sar iostat mpstat

    二、安装:

    首先您到 http://perso.wanadoo.fr/sebastien.godard/ 下载最新的版本,最好是源码包,比如我下载的是sysstat-5.1.1.tar.gz

    安装方法比较简单:

    1.解包:

    #tar zxvf sysstat-5.1.1.tar.gz

    2.安装:

    #cd sysstat-5.1.1
    #make config 这步可以省略,因为我在安装的过程 中,发现在有些发行版中出错,如果不用这个命令,可以直接安装到其默认的/usr/local/lib目录中
    make config这个命令就是用来配置sysstat安装的,比如安装路径,log存放等,如下:

    代码:
    Installation directory: [/usr/local]
    sadc directory: [/usr/local/lib/sa]
    System activity directory: [/var/log/sa]
    Clean system activity directory? [n]
    Enable National Language Support (NLS)? [y]
    Linux SMP race in serial driver workaround? [n]
    sa2 uses daily data file of previous day? [n]
    Number of daily data files to keep: [7]
    Group for manual pages: [man]
    Set crontab to start sar automatically? [n]

    #make 注:这步是必须的,如果您不用第一步,这步也是必要的。

    #make install

    这样就安装好了。

    三、使用:

    对于这个工具,如何使用呢??如果您想看即时 服务器的CPU,内存,网络使用率的命令,比如:mpstat iostat ,您可以简单的用下面的命令,如果更复杂一点,您可以用man来查看所有命令的用法。

    比如:
    [beinan@S11 beinan]$ iostat
    Linux 2.4.22-2f (S11) 2004年10月30日

    avg-cpu: %user %nice %system %iowait %idle
    8.64 0.00 0.95 0.00 90.41
    Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
    dev3-0 2.97 55.28 38.84 213314 149856

    [beinan@S11 beinan]$ mpstat
    Linux 2.4.22-2f (S11) 2004年10月30日

    03时13分56秒 CPU %user %nice %sys %iowait %irq %soft %idle intr/s
    03时13分56秒 all 8.56 0.00 0.94 0.00 0.00 0.00 90.50 84.32

    比如观察磁盘的读写速度:

    [beinan@S11 beinan]$ iostat -p
    Linux 2.4.22-2f (S11) 2004年10月30日

    avg-cpu: %user %nice %system %iowait %idle
    33.54 0.00 4.95 0.86 60.65

    Device: tps Blk_read/s Blk_wrtn/s Blk_read Blk_wrtn
    hda 26.26 186.57 481.17 16117015 41564960
    hda1 3.29 1.33 26.01 115138 2246456
    hda2 19.86 26.49 149.65 2288449 12927104
    hda3 40.16 158.57 305.51 13697580 26391400
    hda5 0.00 0.00 0.00 8 0

    在每个命令中都有好多选项,这需要我们来实践,不是吗??

    如果是想让服务器自动运行,并且想每个小时都有一个数据反馈,我们可以用cron 来让执行sa1 sa2,这样就有一份日志文件存在/var/log/sa/目录中。我们到时运行sar就能知道所有过去时间每个小时运行情况:

    可以写一个命令到一个文件中。。。把这个文件设置为755的执行权限,放在/etc/cron.hourly目录中。

    [root@S11 root]# cd /etc/cron.hourly/ 进入目录
    [root@S11 cron.hourly]# touch sa1ho 创建文件,这个文件名可以自己来命名
    [root@S11 cron.hourly]# chmod 755 sa1ho
    然后在这个文件中写入下面的一行

    /usr/local/lib/sa/sa1&

    这样每一个小时,就有日志文件写入/var/log/sa/目录中了,当然还有一个/usr/local/lib/sa/sa2的命令,也可以写一个文件到 在/etc/cron.weekly/目录中,sa2是做什么用的呢?自己先看看帮助文件,当然也可以写入/etc/cron.hourly/ ,这样就每小时一次。

    在源码包中还有一个sysstat ,您可以考到/etc/init.d目录中,并设置好权限以及运行级别,这样sysstat就能自己启动了。这样是用来启动sadc的,这个命令是用来读取/var/log/sa目录中的日志文件的。至于详细用法,不熟悉的弟兄还是自己看看man,或者帮助文件。我也不太明白是用来做什么的。哈哈。。

顶(0)
踩(0)

您可能还会对下面的文章感兴趣:

最新评论