sar:詳細なリソース履歴を取得できる統計コマンド

sar

sarコマンドについての概要と詳細

sarとは

sar(System Activity Reporter)は、Linuxでシステムの各種リソース(CPU、メモリ、I/O、ネットワークなど)の利用状況を統計的に収集・表示・記録するための強力なコマンドラインツールです。
主に長期的なパフォーマンス監視・履歴解析・負荷調査に使用され、cronジョブと連携して定期記録も可能です。

主な用途

  • CPU使用率、I/O待ち、メモリの利用推移を調査
  • 過去のシステム負荷状況の解析
  • ボトルネックの傾向把握や障害発生時刻の分析
  • ネットワーク帯域の統計収集

インストール方法

sarsysstatパッケージに含まれています。

Debian/Ubuntu系
$ sudo apt install sysstat

Fedora系
$ sudo dnf install sysstat

データ収集の有効化(Ubuntuなど)

Ubuntuでは初期状態でデータ収集が無効になっている場合があります。以下のようにして有効化します:

$ sudo vi /etc/default/sysstat
ENABLED="true"
$ sudo systemctl enable --now sysstat

基本的な使い方

現在のCPU使用率

$ sar

過去1時間のCPU使用率を10分ごとに表示

$ sar -u -s 08:00 -e 09:00

メモリ・スワップの使用状況

$ sar -r

ディスクI/Oの統計

$ sar -d

ネットワークデバイスの送受信バイト数

$ sar -n DEV

ロードアベレージの統計

$ sar -q

リアルタイムの統計取得(間隔と回数)

$ sar -u 2 5

2秒ごとに5回、CPU統計を表示します。

ログファイルの場所と参照

sarの履歴データは通常、以下に保存されます:

/var/log/sysstat/saXX (XX は日付)

たとえば、20日分のデータを表示:

$ sar -f /var/log/sysstat/sa20

主なオプション一覧

  • -u:CPU統計
  • -r:メモリ統計
  • -d:ディスクI/O統計
  • -n:ネットワーク統計
  • -q:ランキューおよびロードアベレージ
  • -P ALL:全CPUコアごとの統計

cronによる自動収集

sysstatはcronによって定期実行され、データが蓄積されます。設定は以下のファイルで制御されます:

/etc/cron.d/sysstat

他ツールとの比較

コマンド特徴
sar長期的な履歴記録と解析が可能。豊富な統計指標。
vmstatリアルタイム性能監視に優れるが、履歴記録はなし
top / htopインタラクティブに状態確認。詳細なプロセス表示。

まとめ

sarコマンドは、Linuxシステムの長期間にわたるパフォーマンスデータの収集と分析に最適なツールです。CPU、メモリ、ディスク、ネットワークなどの包括的な統計を、リアルタイムおよび履歴の両面から把握できるため、システム監視、負荷分析、障害調査において非常に強力です。
特にサーバ運用や運用監視を行う管理者には必携のツールです。