2017-01-13 6 views
0

私は晴れたアプリサービスで動作しているアプリケーションを持っていますが、アプリケーションは正常に動作しますが、時折非常に遅くなります。メトリックを使用すると、アプリケーションが遅くなると、.NetプロセスはCPU時間のほぼ100%を消費し、サービスを再開するまでは処理を続けるためです。 この動作を引き起こしている機能がわかりませんし、推測もありません。ウェブアプリケーションが100%CPUを使用しています

私のコードのどの部分がほとんどすべてのプロッサーの時間を費やしているのか調べるにはどうすればよいですか?

特定の時点で実行中のコードを教えてくれるツールはありますか?

+1

ProjectExplorerを試す - 各スレッドのスタックレベルを取得します。 またはメモリダンプ、これはさらに高速かもしれません – matcheek

+0

VS、Windbg、gdbのようなデバッガの下で実行できますか?それから、遅くなっているときに[*これを行う*](http://stackoverflow.com/a/378024/23771)。 –

答えて

0

あなたの最善の策は、プロセスがその状態にあるとき、あなたはそれをローカルに分析できるように、メモリダンプを取ることである(例えば、windbgのまたはVSで)最もスペースを消費するチェックするために、これを試してみてください。これを行うには、Kudu UI(例:https://[yourapp].scm.azurewebsites.net/ProcessExplorer/)からプロセスエクスプローラに移動し、関連するプロセスを右クリックしてダンプを取得します。

関連する問題