sysstatの出力間隔を1分単位に変更する方法

はじめに

こんにちは。ディーネットの牛尾です。
sarコマンドの出力間隔を10分間隔から変更したい。
そんな気持ちになりました。

sysstatについて

システムのパフォーマンス監視に便利なsysstat(sarコマンド)ですが、
デフォルト設定では10分間隔でしか統計情報が記録されません。
より細かい粒度でシステムの状態を把握したい場合、とても使いづらい...

本記事では、Amazon Linux 2023環境でsysstatの出力間隔を
デフォルトの10分から1分に変更する手順を紹介します。

sysstatの出力時間を変更したい理由

デフォルトの10分間隔では、短時間で発生するパフォーマンスの問題や
負荷のピークを見逃してしまう可能性があります。

1分間隔に変更することで、より詳細な時系列データを取得でき、
トラブルシューティングや性能分析の精度が向上します。

やってみたこと

デフォルトの設定間隔を確認

まず、現在の設定を確認します。

grep -A 1 'Timer' /usr/lib/systemd/system/sysstat-collect.timer

出力結果:

[Timer]
OnCalendar=*:00/10

→ 現在は10分間隔で設定されていることが確認できました。

設定ファイルを作成してデフォルトをオーバーライド

systemdの設定をオーバーライドするため、以下のコマンドを実行します。

systemctl edit sysstat-collect.timer

このコマンドを実行すると、nanoエディタが起動し、以下のような画面が表示されます。

設定内容を記述

重要: ### Lines below this comment will be discarded
というコメントよりに設定を記述する必要があります。

以下の内容を追加します。

[Unit]
Description=Run system activity accounting tool every 1 minutes

[Timer]
OnCalendar=
OnCalendar=*:00/1
AccuracySec=0

設定のポイント:

  • OnCalendar= (空の値): デフォルト設定をクリア
  • OnCalendar=*:00/1: 1分間隔に変更
  • AccuracySec=0: 実行タイミングの精度を最大化(遅延なし)
    ※デフォルトでは1分で設定されることが多いようです

なお、[Unit]の記載についてはこのタイマーの説明文として記載しています。
必須ではありませんが、設定内容と一致しておくと管理しやすいです。

設定を保存

  • Ctrl + X で終了
  • 「変更されたバッファを保持しますか?」と表示されるので、Y (はい) を選択
  • Enter を押して保存

設定ファイルが生成されたことを確認

ll /etc/systemd/system/sysstat-collect.timer.d/override.conf

出力結果:

-rw-r--r-- 1 root root 123  2月 27 09:57 /etc/systemd/system/sysstat-collect.timer.d/override.conf

→ 設定ファイルが正常に作成されました。

systemdの設定を再読み込み

systemctl daemon-reload
systemctl restart sysstat-collect.timer

変更されたか確認

設定変更後、sarコマンドで1分間隔のデータが記録されているか確認します。

sar -s 09:30:00

出力結果:

Linux 6.12.68-92.122.amzn2023.x86_64        2026年02月27日  _x86_64_

09時30分31秒  LINUX RESTART

09時40分03秒     CPU     %user     %nice   %system   %iowait    %steal     %idle
09時50分03秒     all      0.19      0.00      0.20      0.02      0.02     99.57
09時57分34秒     all      0.16      0.00      0.18      0.02      0.01     99.62
09時58分00秒     all      0.16      0.00      0.16      0.02      0.00     99.67
09時59分00秒     all      0.13      0.00      0.13      0.03      0.01     99.70
10時00分00秒     all      0.09      0.00      0.09      0.03      0.02     99.77
10時01分00秒     all      7.01      0.00      1.52      0.35      0.04     91.08
10時02分00秒     all     26.31      0.00      2.22      0.14      0.62     70.70
10時03分00秒     all      0.16      0.00      0.16      0.13      0.02     99.54
10時04分00秒     all      0.34      0.00      0.23      0.03      0.01     99.40
10時05分00秒     all      0.03      0.00      0.08      0.02      0.01     99.86
平均値:          all      1.50      0.00      0.31      0.04      0.04     98.11

10時以降のデータが1分間隔で記録されていることが確認できました!

ココカラ注意点

設定を追加する位置に注意

systemctl edit コマンドで表示されるファイルには、以下のようなコメントがあります。

### Lines below this comment will be discarded

このコメントよりに設定を記述すると、保存時に破棄されてしまいます。
必ずに記述してください。

■破棄される例

失敗時のエラーメッセージ

設定を何も記述せずに保存しようとすると、以下のエラーが表示されます。

Editing "/etc/systemd/system/sysstat-collect.timer.d/override.conf" canceled: temporary file is empty.

この場合は、再度 systemctl edit コマンドを実行して設定を記述してください。

ディスク容量への影響

1分間隔でデータを記録すると、ログファイルのサイズが増加します。
ディスク容量に余裕があることを確認してから設定変更を行ってください。

まとめ

Amazon Linux 2023でsysstatの出力間隔を
変更する手順を紹介しました。

systemctl edit コマンドを使うことで、元の設定ファイルを直接編集せずに
安全にカスタマイズできます。

より細かい粒度でシステムの状態を監視したい場合は、
ぜひこの方法を試してみてください。

返信を残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA