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,或者幫助文件。我也不太明白是用來做什麼的