ホームページ  >  記事  >  運用・保守  >  CPU使用率が100%になる問題を解決する方法

CPU使用率が100%になる問題を解決する方法

藏色散人
藏色散人オリジナル
2021-05-12 15:32:5516446ブラウズ

CPU 使用率 100% に対する解決策: まず、高い CPU 使用率に影響を与える特定のプロセスを見つけます。次に、高い CPU 使用率に影響を与えるプロセスが正常かどうかを確認し、最後に分類して処理します。

CPU使用率が100%になる問題を解決する方法

#この記事の動作環境: Windows Server 2008 システム、Dell G3 コンピューター。

CPU 使用率が 100% になる問題を解決するにはどうすればよいですか?

概要

この記事では主に、Windows インスタンスの CPU 使用率が高い問題のトラブルシューティングと解決策を紹介します。

詳細

Alibaba Cloud は次のことを通知します:

  • インスタンスやデータの修正や変更などの危険な操作を実行する場合は、必ず注意してください。データのセキュリティを確保するための災害とフォールト トレランス。
  • インスタンス (ECS、RDS を含むがこれらに限定されない) などの構成やデータの変更を行う場合は、事前にスナップショットを作成するか、RDS のログ バックアップやその他の機能を有効にすることをお勧めします。
  • Alibaba Cloud プラットフォームでログイン アカウントやパスワードなどのセキュリティ情報を承認または送信した場合は、適時に変更することをお勧めします。
#この記事では主に以下の手順を紹介します。

位置の問題。 CPU 使用率の上昇を引き起こしている特定のプロセスを見つけます。

分析と処理。 CPU 使用率が高くなる原因となっているプロセスが正常かどうかを確認し、処理対象に分類します。

    通常のプロセスの場合: プログラムを最適化するか、サーバー構成をアップグレードする必要があります。
  • 異常なプロセスの場合: プロセスを手動で確認して強制終了することも、サードパーティのセキュリティ ツールを使用してプロセスを確認して強制終了することもできます。

操作例。具体的なトラブルシューティングと解決プロセスを紹介します。 #########詳しくは###。トラブルシューティング ツールの使用方法を紹介します。

問題の特定

Microsoft は、タスク マネージャー、リソース モニター (リソース モニター)、パフォーマンス モニター (パフォーマンス モニター)、プロセス エクスプローラー、 Xperf (Windows Server 2008 以降)、KernRate (Windows Server 2003) は、検査のためにシステムのフル メモリ ダンプを取得します。トラフィックが多い場合は、Wireshark を使用して一定期間ネットワーク パケットをキャプチャし、トラフィックの使用状況を分析することもできます。

ヒント

: Windows Server 2008 以降のシステムでは、通常、システムに付属のリソース モニターを使用して CPU を監視します。

デスクトップの下部にある

スタート
メニューをクリックし、
    実行
  • を選択します。

    実行ボックスを開いた後、ボックスに perfmon -res

    と入力し、
  • OK
  • をクリックします。

#リソース監視ページで、各プロセスの CPU 使用率が高すぎないか確認します。現象。 CPU使用率が100%になる問題を解決する方法

#高いリソースを占有するプロセスについては、対応するプロセス ID とプロセスのプログラムを確認してください。名前。

  • プロセス ID を特定したら、タスク マネージャーを使用してプログラムが異常であるかどうかを判断し、プログラムの具体的な場所を特定します。
    1. 異常なプロセスを特定する前に、タスク マネージャーで 表示 (V)> 列の選択 (S) をクリックする必要があります。
      CPU使用率が100%になる問題を解決する方法
    2. ポップアップ ボックスで PID (プロセス識別子) を選択し、OK をクリックします。
      CPU使用率が100%になる問題を解決する方法
    3. #タスクマネージャーのプロセスページに、PID項目が追加されます。 PID をクリックして並べ替えて、リソース モニターによって以前に表示された異常なプロセスを見つけます。プロセス名を右クリックし、「ファイルの場所を開く」を選択して、プロセスが悪意のあるプログラムかどうかを確認します。

    分析と処理

    過剰な CPU 使用率の分析と処理

    高い CPU 使用率に影響を与えるプロセスが通常のプロセスであるか、異常なプロセスであるかを判断する必要があります。異常なプロセスであり、処理対象として分類されます。

    過剰な通常使用の分析と処理

    通常の状況では、顧客が頻繁にビジネスにアクセスする場合、または Windows 独自のサービス (更新サービスなど) により、ネットワーク トラフィックと CPU が高くなる場合があります。占有されている可能性があります。通常のプロセスが原因で CPU 使用率が高くなる場合は、次の順序で 1 つずつトラブルシューティングを行ってください。

    ヒント: Windows Server 2008 または Windows Server 2012 インスタンスのメモリ構成は 2G 以上であることが推奨されます。

    • Windows Update の動作がバックグラウンドで行われているかどうかを確認します。

    • ウイルス対策のためにサーバーにウイルス対策ソフトウェアをインストールすることをお勧めします。ウイルス対策ソフトウェアをインストールしている場合は、CPU 使用率が高いときにウイルス対策ソフトウェアがバックグラウンドでスキャン操作を実行しているかどうかを確認してください。可能であれば、ウイルス対策ソフトウェアを最新バージョンにアップグレードするか、ウイルス対策ソフトウェアを削除してください。

    • ECS 内のアプリケーションに大量のディスク アクセス、ネットワーク アクセス動作、または高いコンピューティング要件があるかどうかを確認します。構成のアップグレードなど、インスタンスの仕様を増やし、より多くのコアまたはメモリの仕様を使用してリソースのボトルネックを解決してみてください。

    • サーバー構成が高い場合、構成をアップグレードしても意味がありません。アーキテクチャの観点から見ると、サーバー構成が高ければ高いほど良いというわけではありません。このとき、アプリケーションを分離し、関連するプログラムを同時に最適化する必要があります。指示の例は次のとおりです。

    問題の説明: MySQL、PHP、Web などの複数のアプリケーションが同時にサーバーにデプロイされている場合、構成が比較的高くても、リソース負荷異常が発生しないようにします。
    解決策: アプリケーションを分離し、異なるサーバーを使用して異なるアプリケーションをホストしてみてください。たとえば、データベースは完全に RDS によってホストされるため、サーバー自体のリソース消費とサーバー内での大量の呼び出しが削減されます。プログラムの最適化に関しては、接続数やキャッシュ構成の調整、Webやデータベースの呼び出しなどの各種パラメータの調整など、独自の構成に応じた調整が可能です。

    異常に高い使用率の分析と処理

    異常に高い CPU 使用率の場合は、悪意のあるウイルスやトロイの木馬が原因である可能性があります。場合によっては、サードパーティの悪意のあるプログラムがオペレーティング システムの svchost.exe または Tcpsvcs.exe を使用して自身を偽装し、CPU 使用率の上昇を引き起こす可能性があります。異常なプロセスを手動で検出して強制終了する必要があります。

    ヒント: プロセスがウイルスなのかトロイの木馬なのか判断できない場合は、オンラインでプロセス名を検索して確認することをお勧めします。また、プロセスを削除する前に、事前にスナップショットを作成してバックアップを完了しておくことをお勧めします。

    • 市販のウイルス対策ソフトウェアを使用するか、Microsoft の無料セキュリティ ツール Microsoft Safety Scanner を使用して、セーフ モードでスキャンおよびウイルス対策を行ってください。ツールのリンクは次のとおりです。
    • https://www.microsoft.com/security/scanner/zh-cn/default.aspx
    • Windows Update を実行して最新の Microsoft をインストールします。セキュリティパッチ。

    • MSconfig を使用して、Microsoft 以外のサービス ドライバーをすべて無効にし、問題が再発するかどうかを確認します。具体的な操作については、Windows システムでクリーン ブートを実行する方法#を参照してください。 ##。

    • サーバーやサイトがDDoS攻撃やCC攻撃を受けると、短期間に大量のアクセス要求が発生します。 Cloud Security Center にログインして、Cloud Shield の DDoS 攻撃に対する保護しきい値が調整されているかどうかを確認し、CC 保護が有効になっているかどうかを確認できます。攻撃によってしきい値がトリガーされず、Cloud Shield がクリーニングされない場合は、アフターサービスに問い合わせてクリーニングを開始してください。

    操作例

    CPU使用率が高くなる原因としては以下のことが考えられます。

    • ウイルス トロイの木馬の侵入。
    • サードパーティのウイルス対策ソフトウェアを実行します。
    • アプリケーション例外、ドライバー例外、I/O 使用量が多い、または割り込み処理が多いアプリケーション。

    ヒント : Windows Server 2012 の 1 コア 1GB インスタンスを使用している場合、Windows Update サービスが自動的に更新され、インスタンスの CPU 使用率が突然増加します。高、これは正常です。

    解決策

    ヒント: この記事は、多数の Microsoft の公式ドキュメントとツールのリンクを引用しています。著作権と所有権は Microsoft に帰属します。 Microsoft Windows 製品の反復版やドキュメントがタイムリーに更新されていない場合に発生する可能性のある問題を考慮してください。

    • #CPU 使用率が高い場合は、Windows Update プロセスがバックグラウンドで実行されているかどうかを確認してください。

    • ウイルス対策ソフトウェアがバックグラウンドでスキャン操作を実行しているかどうかを確認します。ウイルス対策ソフトウェアを最新バージョンにアップグレードしたり、ウイルス対策ソフトウェアを削除したりできます。

    • [実行] をクリックして、MSCONFIG と入力し、Microsoft 以外の組み込みサービス ドライバーをすべて無効にして、問題が再発するかどうかを確認します。 。関連する参考文献は以下の通りです。

    • Windows でクリーン ブートを実行する方法

    • 市販のウイルス対策ソフトウェアまたは Microsoft Security Scanner を使用して、安全にブートしてください。モードでウイルスをスキャンします。 Microsoft Security Scanner のリファレンス ドキュメントは次のとおりです。

    • Microsoft セキュリティ スキャナ

    • Windows Update を実行して、最新の Microsoft セキュリティ パッチをインストールします。

    • ECS インスタンスに大量のディスク アクセス、ネットワーク アクセス、および高いコンピューティング要件がある場合、CPU 使用率が高くなるのは通常のことです。インスタンスの仕様をアップグレードして対処できます。リソース不足の問題があります。インスタンス仕様のアップグレード方法については、以下のドキュメントを参照してください。

    • 構成のアップグレードおよびダウングレード方法の概要

    その他の解決策については、次の Microsoft ドキュメントを参照してください。

    詳細情報

    Windows インスタンス用の推奨トラブルシューティング ツールは次のとおりです。関連性のあるコンテンツ。

    タスク マネージャー

    • アプリケーション リストを視覚的に確認し、より高い CPU を占有しているアプリケーションを見つけます。次はタスク マネージャー ページです。
      CPU使用率が100%になる問題を解決する方法
    • パフォーマンス ページで CPU 使用率を確認する場合は、CPU 使用率のグラフを右クリックし、[グラフを に変更する > #] をクリックします。 ##論理プロセッサ。次の図は、4 つの論理 CPU の使用状況を示しています。
      CPU使用率が100%になる問題を解決する方法
    • 単一プロセスの CPU 使用率が 100% 近くまで上昇しているのに、他のプロセスの CPU 使用率があまり変化していない場合は、ネットワーク I が原因である可能性があります。 /O 処理により発生します。
    リソースモニター

    CPU使用率を視覚的に確認できるほか、ハンドルやモジュールから該当プロセスを検索することもできます。

    CPU使用率が100%になる問題を解決する方法

    Process Explorer

    • Process Explorer は Microsoft Sysinternals ツールです。正しいシンボルを構成することで、対応するアプリケーションのスレッドによって呼び出される呼び出しスタックをチェックして、考えられる問題のドライバーを特定します。 Process Explorer ツールをダウンロードするリンクは次のとおりです。
    • 次は、Process Explorer ツールの使用方法のページです。
      CPU使用率が100%になる問題を解決する方法

    パフォーマンス モニター

    • パフォーマンス モニター (パフォーマンス モニター) は、さまざまなコンポーネントのパフォーマンス カウンターを収集するための Microsoft のプロフェッショナル ツールです。 。システムの CPU リソース消費については、複数のカウンターをチェックする必要があります。 [開始 > 実行 > perfmon] をクリックして、パフォーマンス モニターを開きます。
    • パフォーマンスには、次の 3 つの主要なパラメータがあります。ここで、\Processor(_Total)\% Processor Time は、\Processor(*)\% User Time\Processor(*)\% Privileged Time## の合計です。 # 。
      • \プロセッサ(_Total)\% プロセッサ時間
      • \プロセッサ(*)\% ユーザー時間
      • #\Processor(*)\% Privileged Time
    • \Processor(*)\% Privileged Time は、アプリケーションがカーネルでシステム コールを実行する時間です。 (ドライバー、IRP、コンテキストスイッチなど) の動作時間。以下の図に示すように、オペレーティング システムが 特権時間 に時間の 30% 以上を費やしている場合、インスタンスが高い I/O スループットに関連する操作を実行していることを意味します。
      CPU使用率が100%になる問題を解決する方法
    • % 特権時間 が非常に高い場合、さらなるチェックが必要です % DPC 時間 %割り込み時間およびコンテキストスイッチ/秒の状況。
        High
      • % DPC Time% Interrupt Time は、不明なデバイスに大量の操作またはパフォーマンスの問題があることを意味します。次のドキュメントを参照してください。
        • 自分の冒険を選択してください: 遅延プロシージャ コール (DPC) または割り込みの多さ
      • コンテキスト スイッチ/秒 は、準備完了状態のスレッドが多数存在し、問題を解決するにはスレッドの数を減らす必要があることを意味します。
    • % DPC Time% Interrupt Time が非常に高い場合は、Microsoft Xperf ツールを使用してさらに分析する必要があります。を参照してください。 XPerf ツールを使用するには、次のドキュメントを参照してください。
    • コンテキスト スイッチの値が非常に高い場合は、次のドキュメントを参照してください。
    • #\Processor(*)\% User Timeプロセッサがプログラム コードを実行するために消費した時間を示します。どのアプリケーションまたは関数呼び出しがより多くの時間を消費するかを判断できます。
    • HighUser Time状況を次の図に示します。
      CPU使用率が100%になる問題を解決する方法

    クラウド サーバー ECS

    • に適用可能

    以上がCPU使用率が100%になる問題を解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

    声明:
    この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。