Amazon Elastic Compute Cloud (Amazon EC2) Windows インスタンスで CPU 使用率が増加していますが、インスタンスの CPU はスロットリングされていません。この CPU 使用率の増加を診断したいです。
解決策
CPU 使用率を判断するには、AWSSupport-TroubleshootWindowsPerformance ランブックを実行するか、CPU 使用率が高いプロセスを手動で特定します。
CPU 使用率の増加を引き起こす特定のプロセスを特定した後、その特定のアプリケーションをトラブルシューティングします。
AWSSupport-TroubleshootWindowsPerformance ランブックを実行する
前提条件: ランブックを開始する前に、AWS Identity and Access Management (IAM) のユーザーまたはロールに必要なアクセス許可があることを確認してください。詳細については、AWSSupport-TroubleshootWindowsPerformance の「必要な IAM アクセス許可」を参照してください。
次の手順を実行します。
- AWS Systems Manager コンソールを開きます。
- [リージョン] リストで該当する AWS リージョンを選択します。
- ナビゲーションペインで [共有リソース] を展開し、[ドキュメント] を選択します。
- 検索バーに AWSSupport-TroubleshootElasticBeanstalk と入力し、該当するランブックを選択します。
- [オートメーションの実行] を選択します。
- [実行] を選択します。ランブックが行うアクションのリストについては、AWSSupport-TroubleshootWindowsPerformance のドキュメントステップを参照してください。
- [出力] で実行結果の詳細を確認します。
手動トラブルシューティング
Task Manager を使用し、CPU 使用率が増加した原因を特定する
次の手順を実行します。
- Remote Desktop Protocol (RDP) でインスタンスに接続します。
- Task Manager を開き、[CPU] 列を選択します。
- CPU 使用率が高いプロセスを特定し、そのプロセスが想定通りの CPU 量を使用しているかどうかを判断します。
- 想定よりも多く CPU を使用するアプリケーションをトラブルシューティングします。
アプリケーションの CPU 使用率が想定通りの場合は、インスタンスタイプを変更します。詳細については、「EC2 Windows インスタンスのサイズを変更したり、EC2 Windows インスタンスタイプを変更したりする方法を教えてください」を参照してください。
Process Explorer を使用して CPU 使用率が増加した原因を特定する
Process Explorer は、Sysinternals Microsoft ユーティリティです。詳細については、Microsoft Learn のウェブサイトで「Sysinternals」を参照してください。
次の手順を実行します。
- インスタンスに Process Explorer をダウンロードします。ダウンロード方法については、Microsoft Ignite のウェブサイトで「Process Explorer」を参照してください。
- 管理者としてアプリケーションを起動します。
- [CPU] 列を選択すると、プロセスが使用状況別にソートされます。
- [表示]、[プロセスツリーの表示] を選択すると、プロセス間の親子関係が表示されます。
注: [スレッド] タブを選択すると、CPU 使用率の増加を引き起こすプロセスの実行内容に関する詳細を取得できます。
上記の方法で CPU 使用率増加の原因を特定できない場合は、Performance Monitor および、Performance Analysis of Logs (PAL) ツールを使用します。Performance Monitor は、Windows の組み込みツールです。
(オプション) Performance Monitor を使用して CPU 使用率増加の原因を特定する
次の手順を実行します。
- RDP を使用してインスタンスに接続します。
- Performance Monitor を開き、**[データ コレクター セット]**を展開します。
- [ユーザー定義] のコンテキストメニューを開き、[新規作成]、[データ コレクター セット] を選択します。
[名前] に新しいデータコレクターセットの名前を入力し、[手動で作成 (詳細)] を選択します。
- [次へ] を選択します。
- [データログを作成する] で [パフォーマンスカウンター] を選択し、[次へ] を選択します。
- [追加] を選択します。
[使用可能なカウンター] で [プロセス]、% Processor Time を選択します。
[選択したオブジェクトのインスタンス] で [すべてのインスタンス] を選択します。
[追加] を選択します。
追加したい他のパフォーマンスカウンターについても、この手順を繰り返します。
- [OK] を選択します。
- (オプション) [サンプルの間隔] と [単位] を希望する値に設定します。
- [次へ] を選択します。
- データの保存に使用できる 1 GB 以上の空き容量が含まれる場所を選択し、[次へ] を選択します。
- [保存して閉じる] を選択し、[完了] を選択します。
注: CPU 使用率が急増している場合は、[今すぐデータ コレクター セットを開始] を選択してください。次に、[完了] を選択します。
Performance Monitor ツールがデータの収集を完了した後、レポートを開き確認すると、インスタンスの CPU を消費するプロセスを特定できます。次に、その情報を参考に、CPU を消費している特定のアプリケーションをトラブルシューティングします。
(オプション) Performance Analysis of Logs (PAL) ツールを使用して分析情報のレポートを生成する
注: 次の手順では、GitHub でホストされるオープンソースソフトウェアを使用する箇所があります。
サードパーティツールである PAL を使用すると、Performance Monitor ファイルからレポートを生成し、詳細な分析を行えます。PAL を使用するには、次の手順を実行します。
- PAL をインストールし、PAL ウィザードを起動して [次へ] を選択します。
- [Performance Counter ログ] に Performance Monitor ファイルへのパスを入力し、[次へ] を選択します。
- [タイトル] で [System Overview] を選択し、[次へ] を選択します。
注: [System Overview] には、一般的なオペレーティングシステムのパフォーマンス分析が表示されます。
- [質問] セクションで各エントリの質問を確認し、回答します。[OS] では、リストから入手可能な最新のオペレーティングシステムバージョンを選択します。使用するインスタンスと一致するビットバージョンを指定してください。[次へ] を選択します。
- [Process all of the counters in the counter log] を選択して、[Next] を選びます。
注: すべてのカウンターインスタンスを処理すると、リソース使用量が大量に増加する可能性があります。
- [出力フォルダー] で PAL レポートの出力ディレクトリを選択します。
- [HTML Report] で [HTML Report] を選択し、[Next] を選択します。
- [次へ] を選択し、[完了] を選択します。
- PAL レポートの Process セクションおよび Processor セクションを参照し、インスタンスの CPU を使用しているプロセスを判断します。
関連情報
T2 または T3 の EC2 Windows インスタンスの CPU がスロットリングされているかどうかを確認する方法を教えてください。
Systems Manager Automation によるオートメーション操作を実行する
オートメーションを設定する