
Ubuntu 20.04システムでCPUとメモリ使用量の合計を追跡したいと思います。そのためにsysstatライブラリをインストールします。関連関数のマニュアルと記事を読みsar
ましたが、それでも構文について混乱しています。
私がしたいこと:5秒ごとに合計CPUとメモリ使用量を記録します。データは1日1回CSVにエクスポートされ、バイナリデータは削除されます。
何が私を混乱させるのか: 1. 時間間隔を指定するには、いくつかの設定があります。sar -u %system -r %memused 5
CPUとメモリ使用量は5秒ごとに記録されます。また、パッケージは5-55/10 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 1 1
で定義されているように10分ごとに「アクティビティレポート」を生成します/etc/cron.d/sysstat
。 5秒ごとに何が起こるのか、10分ごとに何が起こるのか混乱します。プログラムは最初に5秒ごとにデータをキャッシュし、次に10分ごとにファイルに書き込みますか? 2. さまざまな機能がディスクに書き込まれます。次のうちどれが必要ですか?sar -u %system -r %memused -o 5
、、、sadc -u %system -r %memused 5 -
またはsa1
? 3.sadf -d /var/log/sysstat/sa$(date +%d -d yesterday) > /home/some_user/sar_data.csv
日次CSVファイル()を生成するコードを時間指定操作として実行する必要がありますか?
注:sysstatメソッドよりも計算的に効率的なソリューションを知っている人がいる場合は、いつでも提案してください。
答え1
5-55/10
5、15、25、35、45、55秒でコマンドを実行します。debian-sa1 1 1
したがって、debian-sa1 [ interval [ count ] ]
一度に1秒ずつ収集されます。
あなたの命令にはsar
ありません計算したがって、停止するまで5秒間累積します。
ログサイズとCPU使用率が大幅に増加 スケジュールされたタスク(8)1分ごとにcronエントリを確認してください。
The time and date fields are:
field allowed values
----- --------------
minute 0-59
hour 0-23
day of month 1-31
month 1-12 (or names, see below)
day of week 0-7 (0 or 7 is Sunday, or use names)
ジョブが開始間隔より長く実行されると、cronで深刻な問題が発生する可能性があるため安全ではないcron 項目を次のように調整します。
*/1 * * * * root command -v debian-sa1 > /dev/null && debian-sa1 10 5
または:
*/1 * * * * root for i in `seq 1 5` ; do debian-sa1 1 1 ; sleep 10 ; done
ただし、これをテストすることで、このオプションがどのくらいのCPU時間とディスク容量を占めているかを確認できます。ただし、2番目のコマンドは10秒のうち1秒だけを収集するため、影響はわずかに少なくなります。
ただし、上記のログファイルのサイズは似ています。
どちらもこの回収頻度に合わせて設計されてsystat
いないため、cron
上記の粒径に対して高い安定性を期待しないでください。