リソース情報を収集するためLinux標準ツール

故障発生時にCPU使用率やプロセス情報などのリソース情報を収集するツールをまとめてみました。

top

$ top

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 ) で求めることができます。