CPU がスロットリングされていないときに EC2 Windows インスタンスが高い CPU 使用率を示している問題を診断するにはどうすればよいですか?

所要時間2分
0

Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスの CPU 使用率が高くなっていますが、インスタンスの CPU はスロットリングされていません。高い CPU 使用率を診断するにはどうすればよいですか?

簡単な説明

インスタンスからタスクマネージャーを使用して、最も多く CPU を使用しているプロセスを確認できます。必要に応じて、パフォーマンスモニターまたは Process Explorer を使用して、高い CPU 使用率の原因となっているプロセスを検出できます。

高い CPU 使用率の原因となっているプロセスを特定したら、そのアプリケーションをトラブルシューティングできます。

解決方法

タスクマネージャを使用して CPU 使用率が高い原因を特定する

  1. リモートデスクトッププロトコル (RDP) を使用してインスタンスに接続します。
  2. タスクマネージャを開き、[CPU] 列を選択して CPU 順に並べ替えます。
  3. CPU 使用率が高いプロセスを調べて、想定される CPU 量を使用しているかどうかを判断します。
  4. 想定よりも多くの CPU を使用しているアプリケーションをトラブルシューティングします。

すべてのアプリケーションが予想される CPU 量を使用している場合は、インスタンスタイプの変更を検討してください。詳細については、EC2 Windows インスタンスの CPU とメモリを増やすにはどうすればよいですか? をご参照ください。

Process Explorer を使用して、高い CPU 使用率の原因を特定する

Process Explorer は、マイクロソフトが提供する SysInternals ユーティリティです。Process Explorer を使用するには、以下のステップに従ってください。

  1. Process Explorer をインスタンスにダウンロードします。
  2. 管理者としてアプリケーションを起動します。
  3. 使用量でプロセスをソートするには、[CPU] 列を選択します。
  4. プロセス間の親子関係を表示するには、[View] (表示)、[Show Process Tree] (プロセスツリーの表示) を選択します。

パフォーマンスモニターを使用して CPU 使用率が高い原因を特定する

それでも CPU 使用率が高い原因を特定できない場合は、パフォーマンスモニターとパフォーマンス分析ログ (PAL) ツールを使用します (オプション)。パフォーマンスモニターは、組み込みの Windows ツールです。

パフォーマンスモニターを使用するには、次の手順に従ってください。

  1. RDP を使用してインスタンスに接続します。
  2. [パフォーマンスモニター] を開き、[データコレクターセット] を展開します。
  3. [ユーザー定義] のコンテキスト (右クリック) メニューを開き、[新規]、[データコレクターセット] を選択します。
    [名前] には、新しいデータコレクターセットの名前を入力します。
    [手動で作成 (詳細)] を選択します。
  4. [次へ] を選択します。
  5. [データログの作成] では、[パフォーマンスカウンター] を選択してから [次へ] を選択します。
  6. [追加] を選択します。
    [使用可能なカウンター] では、[プロセス]、[%プロセッサータイム] を選択します。
    [選択したオブジェクトのインスタンス] では、[すべてのインスタンス] を選択します。
    [追加] を選択します。
    追加する他のすべてのパフォーマンスカウンターに対してこの手順を繰り返します。
  7. [Ok] を選択します。
  8. (オプション) [Sample interval] (サンプル間隔) と [Units] (単位) を希望の値に設定します。
  9. [Next] (次へ) を選択します。
  10. データを保存するための空き容量が 1 GiB 以上ある場所を選択してから、[次へ] を選択します。
  11. [Save and close] (保存して閉じる) を選択してから、[Finish] (終了) を選択します。
    : CPU の使用率が急上昇している場合は、[Start this data collector set now] (このデータコレクターセットを今すぐ開始) を選択し、[Finish] (完了) を選択します。

パフォーマンスモニターツールがデータ収集を完了した後、レポートを開いて確認し、どのプロセスがインスタンス CPU を使用しているかを判断できます。その後、その情報を使用して、CPU を使用している特定のアプリケーションをトラブルシューティングします。

(オプション) ログのパフォーマンス分析 (PAL) を使用して分析用のレポートを生成する

注: これらのオプションステップには、GitHub でホストされているオープンソースソフトウェアの使用が含まれます。

PAL は、より詳細な分析のためにパフォーマンスモニターファイルからレポートを生成するために使用できるサードパーティー製のツールです。PAL を使用するには、次の手順に従ってください。

  1. PAL をインストールし、PAL ウィザードを起動して、[次へ] を選択します。
  2. [Performance Counter Log] (パフォーマンスカウンターログ) で、パフォーマンスモニターファイルへのパスを入力し、[Next] (次へ) を選択します。
  3. [Title] (タイトル) で、[System Overview] (システムの概要) を選択してから、[Next] (次へ) を選択します。
    : [System Overview] (システムの概要) は、一般的なオペレーティングシステムのパフォーマンス分析を提供します。
  4. [Questions] (質問) セクションの各エントリの質問を確認して回答します。[OS] で、リストから使用可能な最新のオペレーティングシステムバージョンを、ご使用のインスタンスと一致するビットバージョンで選択します。[次へ] を選択します。
  5. [Process all of the counters in the counter log] (カウンターログ内のすべてのカウンターを処理する) を選択してから、[Next] (次へ) を選択します。
    : すべてのカウンターインスタンスを処理すると、リソースが大量に消費される可能性があります。
  6. [Output Folder] (出力フォルダ) で、PAL レポートの出力ディレクトリを選択します。
  7. [HTMLレポート] では、[HTML レポート] を選択してから [次へ] を選択します。
  8. [Next] (次へ) を選択してから [Finish] (完了) を選択します。
  9. PAL レポートの [Process] (プロセス) セクションと [Processor] (プロセッサ) セクションを確認して、インスタンスの CPU を使用しているプロセスを特定します。

関連情報

T2 または T3 EC2 Windows インスタンスの CPU が調整されているかどうかを確認するにはどうすればよいですか?

AWS公式
AWS公式更新しました 1年前
コメントはありません