故障発生時にCPU使用率やプロセス情報などのリソース情報を収集するツールをまとめてみました。
sar
$ sar
$ sar -u <取得間隔(秒)> <取得回数> # CPU使用率
$ sar -q <取得間隔(秒)> <取得回数> # プロセスの待ちキュー数
$ sar -r <取得間隔(秒)> <取得回数> # メモリ使用量
$ sar -W <取得間隔(秒)> <取得回数> # スワップ発生量
$ sar -n DEV <取得間隔(秒)> <取得回数> # ネットワークI/O発生量
$ sar -d <取得間隔(秒)> <取得回数> # ディスクI/O発生量、ディスクI/O待ち時間
サーバのリソース使用状況を詳細に調査します。sysstatパッケージに含まれます。
適用場面 |
通常運用時、定期的にサーバのリソース使用状況をログとして出力し、保存しておきます。 |
項目 |
説明 |
CPU使用率 |
サーバ全体でのCPU使用率。モード別とCPU別で確認できます |
プロセスの待ちキュー数 |
CPUを待っているプロセスの数 |
メモリ使用量 |
スワップ、空きメモリ、バッファ、キャッシュごとのメモリ使用量 |
スワップ発生量 |
スワップインおよびスワップアウトの量 |
ネットワークI/O発生量 |
ネットワークデバイスごとの受信データ量と送信データ量 |
ディスクI/O発生量 |
ディスクデバイスごとの読み込みデータ量と書き込みデータ量 |
ディスクI/O待ち時間 |
ディスクデバイスごとのディスクI/O待ち時間 |
sar -rでメモリ使用量を調査する
$ sar -r
Linux 2.6.21.7-2.ec2.v1.2.fc8xen (ip-10-128-67-47) 10/24/10
00:00:01 kbmemfree kbmemused %memused kbbuffers kbcached kbswpfree kbswpused %swpused kbswpcad
00:10:01 44200 15692540 99.72 339508 3001164 0 0 0.00 0
00:20:01 36240 15700500 99.77 339756 3006988 0 0 0.00 0
00:30:01 44788 15691952 99.72 338688 3001184 0 0 0.00 0
00:40:02 52308 15684432 99.67 338960 2994052 0 0 0.00 0
00:50:01 42820 15693920 99.73 339772 3002560 0 0 0.00 0
項目 |
説明 |
kbmemfree |
物理メモリの空き容量 |
kbmemused |
使用中の物理メモリ量 |
%memused |
物理メモリ使用率 |
kbbuffers |
カーネル内のバッファとして使用されている物理メモリの容量 |
kbcached |
カーネル内のキャッシュ用メモリとして使用されている物理メモリの容量 |
kbswpfree |
スワップ領域の空き容量 |
kbswpused |
使用中のスワップ領域の容量 |
%swpused |
スワップ領域の使用率 |
実質メモリ使用量は kbmemused - ( kbbuffers + kbcached ) で求めることができます。