私はLinuxにあまり慣れていません。したがって、他の人にとって、これは簡単な質問かもしれません。私たちが走るときトップc コマンド - サーバーの現在の状態の平均待機時間(wa)を取得します。過去1ヶ月間の平均待ち時間がどれくらいであるかを知りたいです。この情報を取得する方法はありますか?
答え1
この情報を定期的に記録し、1ヶ月間保管する必要があります。
sysstat
などのリソース使用量追跡ツールがありますatop
。
少なくともatop
Debianでは、10分ごとにサンプリングされた情報が/var/log/atop
。
グローバルCPU使用量情報は、次のコマンドで照会できます。
atop -r /path/to/log/file -PCPU
マニュアルatop
ページはこの出力の説明を提供し、各行について、6番目のフィールドはその期間の秒数を報告し、7番目のフィールドは1秒あたりのCPUティック数を報告し、13番目のフィールドはレポートを報告します。わかります。 1秒あたりのCPUティック数。 CPU ティック数。待つカチカチ音。
したがって、GNUツールを使用していると仮定すると、次のようにできます。
start=$(date -d '1 month ago' +%s)
find /var/log/atop -maxdepth 1 -name 'atop_[0-9]*' \
-newermt "@$start" -exec atop -r {} -PCPU \; |
awk -v start="$start" '
$3 >= start {t += $6 * $7; w += $13}
END {printf "%.2f%%\n", w * 100 / t}'
答え2
、、...を使用して、長期間にわたってシステムのパフォーマンスを監視できる必要がありますsysstat
。sar
インターネット上でこれらのプログラムを見つけてください。始めるためのリンクは次のとおりです。https://www.thegeekstuff.com/2011/03/sar-examples/