の
top
ユーティリティは、実行中のプロセスごとに現在の CPU 使用率を表示しますが、これを長期的に監視してグラフに表示したい場合はどうすればよいでしょうか?クラウド プロバイダーにまだユーティリティがない場合は、このためのユーティリティがいくつかあります。
補足として、まだインストールしていない場合は、
htop
ユーティリティ (上の図) はデフォルトよりもはるかに使いやすいです
top
。
簡単な解決策: クラウド プロバイダーのグラフを使用する
このソリューションは非常に使いやすいですが、誰でも利用できるわけではありません。 AWS を使用している場合、CloudWatch を使用すると CPU 使用率を非常に簡単に監視できます。
CloudWatch 管理コンソール から [メトリクス] を選択し、EC2 のメトリクスを表示します。 「CPUUtilization」メトリックには、平均 CPU 使用率が表示されます。
平均 CPU 使用率は 5 分単位で測定されますが、インスタンスの拡張モニタリングを有効にして、最大 1 分単位まで増やすことができます。ただし、そうすると追加料金がかかります。 CPU 使用率が高くなりすぎた場合のアラームも簡単に設定できます。
Google Cloud Platform を使用している場合は、インスタンスを選択すると [モニタリング] タブの下にグラフが表示されます。
Azure には Azure Monitor があり、同様の情報が表示されます。
他のほとんどのクラウド プロバイダーも、おそらくこのようなグラフを持っているでしょう。
/proc/loadavg の使用
これをネイティブに行う最良の方法は、次の場所を確認することです。
top
から情報を取得します。
/proc/loadavg
1 分、5 分、15 分の平均が含まれます。次のようにログを記録できます
cat
猫 /proc/loadavg/
1.71 1.32 1.38 2/97 6429
これを使用すると、
awk
マジックを使用して各行をカンマ区切りの CSV ファイルに出力してグラフを生成できます。
cat /proc/loadavg | awk '{print $1","$2","$3}' >> cpu.csv
これを毎分実行する
cron
ジョブ
に接続し、
logrotate でログをローテーションすれば
、巧妙に装備された CPU モニターが手に入ります。 CSV ファイルを Excel にインポートすると、平均 CPU 使用率を折れ線グラフで簡単にグラフ化できます。
上記のコマンドは、1 分、5 分、15 分の平均を出力することに注意してください。毎分実行している場合は、5 分間と 15 分間の平均を計算で求めることができるため、実際には出力する必要はありません。
sysstatをインストールする
sar
ユーティリティは、システム パフォーマンスの監視に最適です。これは
sysstat
の一部として含まれていますが、デフォルトではシステムにインストールされていない可能性があります。ディストリビューションのパッケージ マネージャーから入手する必要があります。 Ubuntu などの Debian ベースのシステムの場合、次のようになります。
sudo apt-get インストール sysstat
次に、
/etc/default/sysstat
を編集し、「ENABLED」を true に設定して有効にします。
これにより、システムが監視され、10 分ごとにレポートが生成され、1 週間後にローテーションされます。この動作を変更するには、
/etc/cron.d/sysstat
で sysstat crontab を編集するか、
/etc/sysstat/sysstat
で
sysstat
設定のローテーション設定を変更します。
次のコマンドを使用してリアルタイム レポートを生成できます。
sar -u 1 3
sysstat
バックグラウンドの CPU 使用率データを毎分収集し、
/var/log/sysstat/
に保存します。次に、スプレッドシート プログラムまたは
sargraph
などのカスタム ツールを使用して、分析用にこのデータをインポートできます。これにより、優れたグラフが表示されます。
このようなグラフをプロットするには、
ttyplot
などのコマンド ライン ユーティリティを使用することもできますが、GUI ほど使いやすい (そして見栄えが良い) ユーティリティはありません。コマンドラインはこれよりも優れています。グラフの方が優れています。
CPU 使用率が高すぎる場合、Monit が警告を発します
Monit は Unix 用のオープンソース監視スイートで、サーバーの健全性をチェックし、サーバーの CPU 使用率が危険なほど高くなった場合に通知を送信するように構成できます。詳細については 、設定ガイドをお読みください 。
CloudWatch は、アラームを使用してすぐに同じことを実現し、CPU 使用率だけでなく、複数の異なるメトリクスで動作できることに注意してください。





