Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスの CPU 使用率が高くなっていますが、インスタンスの CPU はスロットリングされていません。高い CPU 使用率を診断するにはどうすればよいですか?
簡単な説明
インスタンスからタスクマネージャーを使用して、最も多く CPU を使用しているプロセスを確認できます。必要に応じて、パフォーマンスモニターまたは Process Explorer を使用して、高い CPU 使用率の原因となっているプロセスを検出できます。
高い CPU 使用率の原因となっているプロセスを特定したら、そのアプリケーションをトラブルシューティングできます。
解決方法
タスクマネージャを使用して CPU 使用率が高い原因を特定する
- リモートデスクトッププロトコル (RDP) を使用してインスタンスに接続します。
- タスクマネージャを開き、[CPU] 列を選択して CPU 順に並べ替えます。
- CPU 使用率が高いプロセスを調べて、想定される CPU 量を使用しているかどうかを判断します。
- 想定よりも多くの CPU を使用しているアプリケーションをトラブルシューティングします。
すべてのアプリケーションが予想される CPU 量を使用している場合は、インスタンスタイプの変更を検討してください。詳細については、EC2 Windows インスタンスの CPU とメモリを増やすにはどうすればよいですか? をご参照ください。
Process Explorer を使用して、高い CPU 使用率の原因を特定する
Process Explorer は、マイクロソフトが提供する SysInternals ユーティリティです。Process Explorer を使用するには、以下のステップに従ってください。
- Process Explorer をインスタンスにダウンロードします。
- 管理者としてアプリケーションを起動します。
- 使用量でプロセスをソートするには、[CPU] 列を選択します。
- プロセス間の親子関係を表示するには、[View] (表示)、[Show Process Tree] (プロセスツリーの表示) を選択します。
パフォーマンスモニターを使用して CPU 使用率が高い原因を特定する
それでも CPU 使用率が高い原因を特定できない場合は、パフォーマンスモニターとパフォーマンス分析ログ (PAL) ツールを使用します (オプション)。パフォーマンスモニターは、組み込みの Windows ツールです。
パフォーマンスモニターを使用するには、次の手順に従ってください。
- RDP を使用してインスタンスに接続します。
- [パフォーマンスモニター] を開き、[データコレクターセット] を展開します。
- [ユーザー定義] のコンテキスト (右クリック) メニューを開き、[新規]、[データコレクターセット] を選択します。
[名前] には、新しいデータコレクターセットの名前を入力します。
[手動で作成 (詳細)] を選択します。
- [次へ] を選択します。
- [データログの作成] では、[パフォーマンスカウンター] を選択してから [次へ] を選択します。
- [追加] を選択します。
[使用可能なカウンター] では、[プロセス]、[%プロセッサータイム] を選択します。
[選択したオブジェクトのインスタンス] では、[すべてのインスタンス] を選択します。
[追加] を選択します。
追加する他のすべてのパフォーマンスカウンターに対してこの手順を繰り返します。
- [Ok] を選択します。
- (オプション) [Sample interval] (サンプル間隔) と [Units] (単位) を希望の値に設定します。
- [Next] (次へ) を選択します。
- データを保存するための空き容量が 1 GiB 以上ある場所を選択してから、[次へ] を選択します。
- [Save and close] (保存して閉じる) を選択してから、[Finish] (終了) を選択します。
注: CPU の使用率が急上昇している場合は、[Start this data collector set now] (このデータコレクターセットを今すぐ開始) を選択し、[Finish] (完了) を選択します。
パフォーマンスモニターツールがデータ収集を完了した後、レポートを開いて確認し、どのプロセスがインスタンス CPU を使用しているかを判断できます。その後、その情報を使用して、CPU を使用している特定のアプリケーションをトラブルシューティングします。
(オプション) ログのパフォーマンス分析 (PAL) を使用して分析用のレポートを生成する
注: これらのオプションステップには、GitHub でホストされているオープンソースソフトウェアの使用が含まれます。
PAL は、より詳細な分析のためにパフォーマンスモニターファイルからレポートを生成するために使用できるサードパーティー製のツールです。PAL を使用するには、次の手順に従ってください。
- PAL をインストールし、PAL ウィザードを起動して、[次へ] を選択します。
- [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レポート] では、[HTML レポート] を選択してから [次へ] を選択します。
- [Next] (次へ) を選択してから [Finish] (完了) を選択します。
- PAL レポートの [Process] (プロセス) セクションと [Processor] (プロセッサ) セクションを確認して、インスタンスの CPU を使用しているプロセスを特定します。
関連情報
T2 または T3 EC2 Windows インスタンスの CPU が調整されているかどうかを確認するにはどうすればよいですか?