Windows Server 2008 R2 Enterprise
をIIS 7.5
とともに使用して、ASP.NET MVC 5
アプリケーションをホストしています。
最近、w3wp.exe
プロセスの1つが非常に高いCPU帯域幅を使用していることに気付きました。
もう少し調べたところ、この理由は関数clr.dll!CopyPDBs
であることに気づきました。
誰が問題になる可能性があるか知っていますか?
理由が.NET Frameworkとclr.dll!CopyPDBs
に関連していない場合、どのようにすればさらに調査してこれの実際の理由を見つけることができますか
これは通常、IISの上にカスタムアプリケーションがあるためです。社内で構築されたアプリケーションの場合は、開発者と話し合ってください。
自社開発されていない場合は、カウンター付きの.net CLRをご覧ください https://msdn.Microsoft.com/en-us/library/x2tyfybc(v = vs.110).aspx = CLRパフォーマンスに関するその他のヒント https://msdn.Microsoft.com/en-us/library/ee851764(v = vs.110).aspx および https:// msdn .Microsoft.com/en-us/magazine/cc163528.aspx 。
つまり、すべてのCPUを使用しているのは.NETアプリケーションですが、Process Explorerはその.pdbファイルを見つけることができません。詳細は https://stackoverflow.com/a/31705019/8479 を参照してください。
プロセスエクスプローラーで何が起こっているのかを説明できない場合は、ログファイル、イベントログ、プロセスモニターなどの他の手段を試してください。
これはせいぜい推測ですが、おそらく開発チームがリリースモードではなくデバッグモードでアプリケーションをビルドしてデプロイしています。これにより、.pdbファイルが発生します。これが意味するところは、システムの実行中にアプリケーションがシステム状態とデバッグ情報を収集するために追加のリソースを消費し、プロセッサーの使用率が増加することです。
したがって、それらがリリースモードでビルドおよびデプロイされていることを確認するのに十分簡単です。