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

目次
sarコマンドについての概要と詳細
sarとは
sar
(System Activity Reporter)は、Linuxでシステムの各種リソース(CPU、メモリ、I/O、ネットワークなど)の利用状況を統計的に収集・表示・記録するための強力なコマンドラインツールです。
主に長期的なパフォーマンス監視・履歴解析・負荷調査に使用され、cronジョブと連携して定期記録も可能です。
主な用途
- CPU使用率、I/O待ち、メモリの利用推移を調査
- 過去のシステム負荷状況の解析
- ボトルネックの傾向把握や障害発生時刻の分析
- ネットワーク帯域の統計収集
インストール方法
sar
はsysstatパッケージに含まれています。
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、メモリ、ディスク、ネットワークなどの包括的な統計を、リアルタイムおよび履歴の両面から把握できるため、システム監視、負荷分析、障害調査において非常に強力です。
特にサーバ運用や運用監視を行う管理者には必携のツールです。