Windows system >> Windowsの知識 >  >> Windows XPシステムチュートリアル >> XPシステムアプリケーションスキル >> XPシステムw3wp.exeプロセスCPU使用率100%の理由と解決策

XPシステムw3wp.exeプロセスCPU使用率100%の理由と解決策

  

インターネットインフォメーションサービス管理者にとって、管理プロセスではWebサーバーのCPU使用率100%に遭遇することが多く、これが主なものです。 w3wp.exeプロセスはCPUのメモリの100%を占めています以下はXPシステムにおけるこの問題の一般的な原因と具体的な解決策の説明です。

w3wp.exeの説明:フルネーム:IISApplicationPoolProcess、w3wp.exeはIISツールの一部です。w3wp.exeはIIS(Internet Information Server)のアプリケーションプールに関連付けられたプロセスです。複数のアプリケーションプールがあり、複数の対応するv3wp.exeプロセスインスタンスが実行されています。このプロセスは、大量のシステムリソースを割り当てるために使用されます。

一般的な理由は次のとおりです。

1. Webアクセスの量が多いため、サーバーの負荷が大きくなります。

これも最も一般的な状況です。 Webトラフィックの量が多い場合、特に同時にオンラインユーザーが多すぎる場合は、処理された現在の要求数が高すぎるため、IISとサーバーに同時に大きな負荷がかかります。特に、サーバーは常時計算を必要とし、生成されたページをクライアントに送信するため、大量のCPUリソースが必要となり、結果として100%のCPUになります。

2.動的ページ(.aspx)プログラムのロジックの複雑さ

この問題は、w3wp.exeのCPU使用率にとって非常に深刻です。アクセスレベルは比較的小さい可能性があります。この場合、大きな影響はありませんが、同時実行性の高いWebサイト、特にAsp.NETのRequests Currentが250を超える場合は、w3wp.exeがCPUを占有することが重要な要素になります。

2つのウェブ(AとB)が同等の構成を持つ2つのサーバーに配置されていて、両方のサイトに大量のトラフィックがあり、アクセスページが2つに集中している状況に遭遇しました。サイトの2つの別々のページ、および2つのページ上のIIS接続の数は約50ですが、ページプログラムの複雑さはかなり間違っていますAサイトのページには、少数の単純なRepeaterバインディングしかありません。 Bサイトのページには、多数のバインディング、文字列フィルタの置換、Repeaterのネストバインディングなどがあります。この場合、大規模で並行性の高い環境では、IIS接続数が3Wに達してもCPU使用率は約50%になり、IIS接続数が7Kに達するとCPUは90になります。サーバーに多くのプレッシャーをかけ、IISがブロックされました。

3.ページプログラムにデッドループがあります。

Webアクセスが大きくなく、CPUが非常に高い場合は、ページ内のプログラムに無限ループまたはより深刻なプログラムステートメントが含まれている必要があります。 。

4. HTTPモードのダウンロードサイト

サイトがHTTPフォームのダウンロードステーションである場合は、w3wp.exeがCPUの100%を占めていることにも遭遇しました。

5.サーバーリソースが自動的に解放されない

場合によっては、サイトのトラフィックが1時間以内に急激に増加するため、オペレーティングシステムにより多くのCPUリソースが割り当てられますが、トラフィックが減少すると、 w3wp.exeによって占有されているCPUは時間内に解放されていないとまだ90%以上です。

6. IISログファイルの操作

たとえば、この時点でIISログファイルのデータを分析し、データベースにIISLogログをインポートすると、この操作によってもこの現象が発生します。

解決策:

まず、問題のあるサイトを素早く見つけます。

1. iisapp-aコマンドを使って、問題のあるサイトを素早く見つけます。もちろん、現在のサーバーが1つのWebサイトしか運営していない場合は、この手順を省略することができます。

次の図に情報があるだろう、CMDでiisapp-Aを入力します。

2、もちろん、これは各サイトにあなたを必要とする別のアプリケーションプールを持っている必要があります、アプリケーションプールの名前を対応する、以下に示すように最善は、サイトの名前です:IISアプリケーションプールの設定に関しては、

3、私は理解できない、ここで言うことができません検索次のようにその後、次に、タスクマネージャを開く:
ログイン

4は、CPU使用率を表示するw3wp.exeのための観測過程が高く、次いでiisappに記載されている、そのPIDを比較した結果を使用して、そのサイトに対してどのCPUが高すぎるかを見つけるのは簡単です。

次に、IISとアプリケーションプールを再起動します。

この手順は緊急の処置であり、一般的には症状を治すためのステップです。サイトがロードバランシング(ロードバランシング、NLB)で構築されている場合、現在のサーバはロードバランシング(ロードバランシング、NLB)で停止してから再起動します。ロードバランシング(ロードバランシング、NLB)がなく、サイトがオンラインの場合は、10秒以上の悲劇が発生します。

3番目に、ページレベルのキャッシュをページに追加します。

WebがAsp.Netプログラムの場合は、<%@ OutputCache Duration =" 10" VaryByParam =" none"にしてください。 %>しかし、OutputCacheをあまり使用していない人が多いため、頻繁にページがダウンロードされるという問題があるため、使用を断念しています。

OutputCacheは非常に便利です。利点は3つです。メモリから直接ページを読み取る、ページの応答が速くなる、ユーザーエクスペリエンスが向上する、特に同時並行性の高いWebサイト、特にCPUの場合、サーバーへの負担が大幅に軽減されます。プレッシャー、DBの強度を下げ、DBへのプレッシャーを減らす(データベース)。

4番目に、ページロジックをチェックします。

Webトラフィックが非常に少ないが、それでもw3wp.exe(IIS)CPUの約100%が残っている場合は、ページのコードロジックをチェックします。無限ループや大量の操作がある可能性があります。

上記は、w3wp.exeプロセスがCPUメモリの100%を占めるという問題の概要と、インターネットインフォメーションサービスの管理者またはユーザーがアクセスした場合の具体的な解決方法について説明したものです。問題が解決できない場合は、上記の方法で解決することができます。

Copyright © Windowsの知識 All Rights Reserved