使用している Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスの CPU 使用率が高くなっているのですが、インスタンスの CPU はスロットリングされていません。高い CPU 使用率を診断するにはどうすればよいですか?
簡単な説明
CPU を最も多く使用しているプロセスは、インスタンスからタスクマネージャーで確認できます。必要に応じて、高い CPU 使用率の原因になっているプロセスは、パフォーマンスモニターまたはプロセスエクスプローラーで検出できます。
高い CPU 使用率の原因になっている特定のプロセスが見つかれば、そのアプリケーションをトラブルシューティングできます。
解決策
タスクマネージャーで、高い CPU 使用率の原因を特定する
- リモートデスクトッププロトコル (RDP) でインスタンスに接続します。
- タスクマネージャーを開き、[CPU] 列を選択して CPU でソートします。
- CPU 使用率が高いプロセスを調べて、それらのプロセスで使用されている CPU の量が想定範囲内であるか判断します。
- 想定を超える CPU の量を使用しているアプリケーションをトラブルシューティングします。
すべてのアプリケーションが想定量の CPU を使用している場合は、インスタンスタイプの変更を検討してください。詳細については、「EC2 Windows インスタンスのサイズを変更したり、EC2 Windows インスタンスタイプを変更したりするにはどうすればよいですか」を参照してください。
プロセスエクスプローラーを使用して、高い CPU 使用率の原因を特定する
プロセスエクスプローラーは、Microsoft が提供する SysInternals ユーティリティです。プロセスエクスプローラーを使用するには、次の手順に従います。
- お使いのインスタンスにプロセスエクスプローラーをダウンロードします。
- 管理者としてアプリケーションを起動します。
- [CPU] 列を選択すると、プロセスが使用状況別にソートされます。
- [表示]、[プロセスツリーを表示] を選択すると、プロセス間の親子関係が表示されます。
パフォーマンスモニターで、高い CPU 使用率の原因を特定する
それでも高い CPU 使用率の原因を特定できない場合は、パフォーマンスモニターとログのパフォーマンス分析 (PAL) ツール (オプション) を使用してください。パフォーマンスモニターは Windows の組み込みツールです。
パフォーマンスモニターを使用するには、次の手順に従います。
- RDP でインスタンスに接続します。
- パフォーマンスモニターを開き、**[データコレクターセット]**を展開します。
- [ユーザー定義] のコンテキストメニューを開き (右クリック)、[新規作成]、[データコレクターセット] を選択します。
[名前] に、新しいデータコレクターセットの名前を入力します。
[手動で作成する (詳細)] を選択します。
- [次へ] を選択します。
- [データログを作成する] で [パフォーマンスカウンター] を選択し、[次へ] を選択します。
- [追加] を選択します。
[使用可能なカウンター] で、Process、% Processor Time を選択します。
[選択したオブジェクトのインスタンス] で、[すべてのインスタンス] を選択します。
[追加] を選択します。
追加したい他のパフォーマンスカウンターについても、この手順を繰り返します。
- [OK] を選択します。
- (オプション) [サンプルの間隔] と [単位] を希望する値に設定します。
- [次へ] を選択します。
- データを保存するための空き容量が少なくとも 1 GiB ある場所を選択し、[次へ] を選択します。
- [保存して閉じる] を選択し、[完了] を選択します。
注: CPU の使用量が急増している場合は、[このデータコレクターセットを今すぐ開始] を選択し、[完了] を選択します。
パフォーマンスモニターツールがデータ収集を完了したら、レポートを開いて調べれば、どのプロセスがインスタンス CPU を使用しているかを確認できます。次に、その情報で、CPU を使用している特定のアプリケーションのトラブルシューティングを行います。
(オプション) ログのパフォーマンス分析 (PAL) から分析用のレポートを生成する
注: オプションであるこれらのステップでは、GitHub でホストされているオープンソースソフトウェアの使用も対象になります。
PAL は、パフォーマンスモニターファイルからレポートを生成してより詳細な分析を行うために使用できるサードパーティのツールです。PAL を使用するには、次の手順に従います。
- PAL をインストールし、PAL ウィザードを起動して、[Next] を選択します。
- [Performance Counter Log] に、パフォーマンスモニターファイルへのパスを入力し、[Next] を選択します。
- [Title] で [System Overview] を選択し、[Next] を選択します。
注: [System Overview] には、一般的なオペレーティングシステムのパフォーマンス分析が表示されます。
- [Questions] セクションの各エントリの質問を確認して回答してください。OS の場合は、リストから入手可能な最新のオペレーティングシステムバージョンを、インスタンスと一致するビットバージョンで選択します。[次へ] を選択します。
- [Process all of the counters in the counter log] を選択して、[Next] を選びます。
注: すべてのカウンターインスタンスを処理すると、リソースが大量に消費されるおそれがあります。
- [Output Folder] で、PAL レポートの出力ディレクトリを選択します。
- [HTML Report] で [HTML Report] を選択し、[Next] を選択します。
- [Next] を選択し、[Finish] を選択します。
- PAL レポートの [Process] および [Processor] セクションを確認して、どのプロセスがインスタンスの CPU を使用しているかを判断します。
関連情報
T2 または T3 の EC2 Windows インスタンスの CPU がスロットルされているかどうかを確認する方法を教えてください。