sysstatパッケージにはシステム状態をモニタリングできるコマンドが沢山含まれています。良く使いそうなコマンドは、sar や iostat あたりかなと思いますが、それ以外にも、sadf、nfsiostat、cifsiostat、mpstat、pidstatコマンドが含まれています。システム試験や調査の際に有用なコマンドです。
sysstatパッケージをインストールして、これらのコマンドの利用方法を記載します。
sysstatパッケージのインストール
yumコマンドでインストールします。パッケージ名は「sysstat」です。
まずは、インストール前にパッケージの確認をしてみます。
# yum info sysstat (中略) Available Packages Name : sysstat Arch : x86_64 Version : 9.0.4 Release : 20.el6 Size : 225 k Repo : base Summary : The sar and iostat system monitoring commands URL : http://perso.orange.fr/sebastien.godard/ License : GPLv2+ Description : This package provides the sar and iostat commands for Linux. Sar and : iostat enable system monitoring of disk, network, and other IO : activity. #
では、インストールです。
# yum install sysstat # rpm -qa | grep sysstat sysstat-9.0.4-20.el6.x86_64 #
インストール完了です。
READMEファイルが「/usr/share/doc/sysstat-9.0.4/README」にあります。作者の方は、パッケージをインストールした際に、どこにファイルがインストールされたのか分からないのは嫌、との事で、sysstatによってインストールされたファイルのリストが記載されています。(でも、cifsiostatは記載されていないですね。インストールされているけど。)
sar
「System Admin Reporter」の略称で、システム状況を確認できる、とても便利なコマンドです。CPU、メモリ、ディスク、Swap、ネットワークなど、様々な情報を取得できます。
以下は一例です。
- CPU
- sar -q (秒数) : ロードアベレージ
- sar -u (秒数) : CPU使用率
- メモリ
- sar -r (秒数) : メモリ使用量
- ディスク
- sar -b (秒数) : ディスクI/O状況
- Swap
- sar -W (秒数) : スワップ情報
- ネットワーク
- sar -n DEV (秒数) : ネットワークデバイスの情報
- sar -n EDEV (秒数) : ネットワークデバイスのエラー情報
なお、sadcコマンドをcronで実行するようにしておき、ログを取得しておくと、過去分を遡ってsarコマンドで確認する事も可能です。ですが個人的には、こういう用途であれば、Zabbixなどを使えばよいと思います。sarはあくまで現時点での状況確認用コマンドとして使うイメージです。
iostat
コマンド名称のとおり、I/Oの統計情報を参照できるコマンドです。
- iostat (秒数) : ディスクのブロック(Blk)に関するI/O情報
- iostat -x (秒数) : 詳細なI/O情報
mpstat
CPU利用状況を確認できるコマンドです。%usr、%nice、%sys、%iowait など、横並びの値でじっくり確認できます。
pidstat
プロセス毎にCPU使用率やメモリ使用率を確認できます。
- pidstat : 起動しているプロセスのCPU使用率を表示
- pidstat -C (プロセス名) : 指定したプロセス名(文字列の部分一致で表示可能)のCPU使用率を表示
- pidstat -t : スレッド毎にCPU使用率を表示
- pidstat -l : プロセスコマンド名でCPU使用率を表示
- pidstat -r : page faults と メモリ使用率を表示
sysstat には、色々便利なコマンドが付属していますので、入れておいても損はないと思います。