CPU 使用率 100% に対する解決策: まず、高い CPU 使用率に影響を与える特定のプロセスを見つけます。次に、高い CPU 使用率に影響を与えるプロセスが正常かどうかを確認し、最後に分類して処理します。
#この記事の動作環境: Windows Server 2008 システム、Dell G3 コンピューター。
CPU 使用率が 100% になる問題を解決するにはどうすればよいですか?
この記事では主に、Windows インスタンスの CPU 使用率が高い問題のトラブルシューティングと解決策を紹介します。
#この記事では主に以下の手順を紹介します。Alibaba Cloud は次のことを通知します:
- インスタンスやデータの修正や変更などの危険な操作を実行する場合は、必ず注意してください。データのセキュリティを確保するための災害とフォールト トレランス。
- インスタンス (ECS、RDS を含むがこれらに限定されない) などの構成やデータの変更を行う場合は、事前にスナップショットを作成するか、RDS のログ バックアップやその他の機能を有効にすることをお勧めします。
- Alibaba Cloud プラットフォームでログイン アカウントやパスワードなどのセキュリティ情報を承認または送信した場合は、適時に変更することをお勧めします。
位置の問題。 CPU 使用率の上昇を引き起こしている特定のプロセスを見つけます。
分析と処理。 CPU 使用率が高くなる原因となっているプロセスが正常かどうかを確認し、処理対象に分類します。
操作例。具体的なトラブルシューティングと解決プロセスを紹介します。 #########詳しくは###。トラブルシューティング ツールの使用方法を紹介します。
問題の特定 ヒント: Windows Server 2008 以降のシステムでは、通常、システムに付属のリソース モニターを使用して CPU を監視します。
メニューをクリックし、デスクトップの下部にある
スタート
実行ボックスを開いた後、ボックスに perfmon -res
と入力し、#リソース監視ページで、各プロセスの CPU 使用率が高すぎないか確認します。現象。
#高いリソースを占有するプロセスについては、対応するプロセス ID とプロセスのプログラムを確認してください。名前。 高い CPU 使用率に影響を与えるプロセスが通常のプロセスであるか、異常なプロセスであるかを判断する必要があります。異常なプロセスであり、処理対象として分類されます。 通常の状況では、顧客が頻繁にビジネスにアクセスする場合、または Windows 独自のサービス (更新サービスなど) により、ネットワーク トラフィックと CPU が高くなる場合があります。占有されている可能性があります。通常のプロセスが原因で CPU 使用率が高くなる場合は、次の順序で 1 つずつトラブルシューティングを行ってください。 ヒント: Windows Server 2008 または Windows Server 2012 インスタンスのメモリ構成は 2G 以上であることが推奨されます。 Windows Update の動作がバックグラウンドで行われているかどうかを確認します。 ウイルス対策のためにサーバーにウイルス対策ソフトウェアをインストールすることをお勧めします。ウイルス対策ソフトウェアをインストールしている場合は、CPU 使用率が高いときにウイルス対策ソフトウェアがバックグラウンドでスキャン操作を実行しているかどうかを確認してください。可能であれば、ウイルス対策ソフトウェアを最新バージョンにアップグレードするか、ウイルス対策ソフトウェアを削除してください。 ECS 内のアプリケーションに大量のディスク アクセス、ネットワーク アクセス動作、または高いコンピューティング要件があるかどうかを確認します。構成のアップグレードなど、インスタンスの仕様を増やし、より多くのコアまたはメモリの仕様を使用してリソースのボトルネックを解決してみてください。 サーバー構成が高い場合、構成をアップグレードしても意味がありません。アーキテクチャの観点から見ると、サーバー構成が高ければ高いほど良いというわけではありません。このとき、アプリケーションを分離し、関連するプログラムを同時に最適化する必要があります。指示の例は次のとおりです。 異常に高い CPU 使用率の場合は、悪意のあるウイルスやトロイの木馬が原因である可能性があります。場合によっては、サードパーティの悪意のあるプログラムがオペレーティング システムの svchost.exe または Tcpsvcs.exe を使用して自身を偽装し、CPU 使用率の上昇を引き起こす可能性があります。異常なプロセスを手動で検出して強制終了する必要があります。 ヒント: プロセスがウイルスなのかトロイの木馬なのか判断できない場合は、オンラインでプロセス名を検索して確認することをお勧めします。また、プロセスを削除する前に、事前にスナップショットを作成してバックアップを完了しておくことをお勧めします。 Windows Update を実行して最新の Microsoft をインストールします。セキュリティパッチ。 MSconfig を使用して、Microsoft 以外のサービス ドライバーをすべて無効にし、問題が再発するかどうかを確認します。具体的な操作については、Windows システムでクリーン ブートを実行する方法#を参照してください。 ##。 サーバーやサイトがDDoS攻撃やCC攻撃を受けると、短期間に大量のアクセス要求が発生します。 Cloud Security Center にログインして、Cloud Shield の DDoS 攻撃に対する保護しきい値が調整されているかどうかを確認し、CC 保護が有効になっているかどうかを確認できます。攻撃によってしきい値がトリガーされず、Cloud Shield がクリーニングされない場合は、アフターサービスに問い合わせてクリーニングを開始してください。 CPU使用率が高くなる原因としては以下のことが考えられます。 ヒント : Windows Server 2012 の 1 コア 1GB インスタンスを使用している場合、Windows Update サービスが自動的に更新され、インスタンスの CPU 使用率が突然増加します。高、これは正常です。 ヒント: この記事は、多数の Microsoft の公式ドキュメントとツールのリンクを引用しています。著作権と所有権は Microsoft に帰属します。 Microsoft Windows 製品の反復版やドキュメントがタイムリーに更新されていない場合に発生する可能性のある問題を考慮してください。 #CPU 使用率が高い場合は、Windows Update プロセスがバックグラウンドで実行されているかどうかを確認してください。 ウイルス対策ソフトウェアがバックグラウンドでスキャン操作を実行しているかどうかを確認します。ウイルス対策ソフトウェアを最新バージョンにアップグレードしたり、ウイルス対策ソフトウェアを削除したりできます。 [実行] をクリックして、MSCONFIG と入力し、Microsoft 以外の組み込みサービス ドライバーをすべて無効にして、問題が再発するかどうかを確認します。 。関連する参考文献は以下の通りです。 市販のウイルス対策ソフトウェアまたは Microsoft Security Scanner を使用して、安全にブートしてください。モードでウイルスをスキャンします。 Microsoft Security Scanner のリファレンス ドキュメントは次のとおりです。 Windows Update を実行して、最新の Microsoft セキュリティ パッチをインストールします。 ECS インスタンスに大量のディスク アクセス、ネットワーク アクセス、および高いコンピューティング要件がある場合、CPU 使用率が高くなるのは通常のことです。インスタンスの仕様をアップグレードして対処できます。リソース不足の問題があります。インスタンス仕様のアップグレード方法については、以下のドキュメントを参照してください。 構成のアップグレードおよびダウングレード方法の概要 Windows インスタンス用の推奨トラブルシューティング ツールは次のとおりです。関連性のあるコンテンツ。
分析と処理
過剰な CPU 使用率の分析と処理
過剰な通常使用の分析と処理
問題の説明: MySQL、PHP、Web などの複数のアプリケーションが同時にサーバーにデプロイされている場合、構成が比較的高くても、リソース負荷異常が発生しないようにします。
解決策: アプリケーションを分離し、異なるサーバーを使用して異なるアプリケーションをホストしてみてください。たとえば、データベースは完全に RDS によってホストされるため、サーバー自体のリソース消費とサーバー内での大量の呼び出しが削減されます。プログラムの最適化に関しては、接続数やキャッシュ構成の調整、Webやデータベースの呼び出しなどの各種パラメータの調整など、独自の構成に応じた調整が可能です。 異常に高い使用率の分析と処理
操作例
解決策
その他の解決策については、次の Microsoft ドキュメントを参照してください。
詳細情報
タスク マネージャー
リソースモニターCPU使用率を視覚的に確認できるほか、ハンドルやモジュールから該当プロセスを検索することもできます。
Process Explorer
パフォーマンス モニター
\Processor(_Total)\% Processor Time
は、\Processor(*)\% User Time
と \Processor(*)\% Privileged Time## の合計です。 # 。
は、アプリケーションがカーネルでシステム コールを実行する時間です。 (ドライバー、IRP、コンテキストスイッチなど) の動作時間。以下の図に示すように、オペレーティング システムが
特権時間 に時間の 30% 以上を費やしている場合、インスタンスが高い I/O スループットに関連する操作を実行していることを意味します。
が非常に高い場合、さらなるチェックが必要です
% DPC 時間 、
%割り込み時間および
コンテキストスイッチ/秒の状況。
% DPC Time
と % Interrupt Time
が非常に高い場合は、Microsoft Xperf ツールを使用してさらに分析する必要があります。を参照してください。 XPerf ツールを使用するには、次のドキュメントを参照してください。
#\Processor(*)\% User Time
プロセッサがプログラム コードを実行するために消費した時間を示します。どのアプリケーションまたは関数呼び出しがより多くの時間を消費するかを判断できます。 User Time
状況を次の図に示します。
クラウド サーバー ECS
以上がCPU使用率が100%になる問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。