起動時にLinuxシステムのCPU使用率をテストする方法を探しています。 topまたはhtopを使用すると、起動時に実際の使用量を確認するには遅すぎます。これを行う効率的な方法はありますか?
答え1
おそらく最善の解決策ではありませんが、再起動時にcronjobを実行して1秒あたりのCPU使用率をファイルに書き込むことはできますか?
スクリプトは次のとおりです。
watch -n 1 bash -c $'top -n 1 | head -n 3 | tail -n 1 | awk \'{print $2 + $4}\' >> ~/cpu-usage.csv'
watch
1秒ごとにコマンドを実行します。top
CPU使用量を確認してください。head
最初の3行を取得します。 (問題がありますgrep
。watch
)tail
最後の1行を取得します。 (問題がありますgrep
。watch
)awk
必要な列を選択し、ユーザー/システムCPU使用率を追加します。
要約すると、毎秒CPU使用率を確認し、その結果をのファイルに追加します~/cpu-usage.csv
。そこからcronjobを追加できます。@reboot
起動時にこのスクリプトを実行してください。
以下を使用してcronjobを編集できます。
crontab -e
次に、次を追加します。
@reboot watch -n 1 bash -c $'top -n 1 | head -n 3 | tail -n 1 | awk \'{print $2 + $4}\' >> ~/cpu-usage.csv'
cronには分単位の精度しかないため、定期的に実行するためにスケジュールされたcronjobを使用することはできません。これは1分以内に自分でtop / htopを起動できるので役に立ちません。ただし、このコマンドのパラメータを必要に応じて変更できます。