質問

私の機(XP64)ASP.net 労働者プロセス(w3wp.exe)常に開始5.5GBの仮想メモリreserved.この関わらず、ウェブアプリケーションでの開催を得ることができるものもみられるとはいえ、全体として空のウェブページaspx).

この大きな古いチャンクの仮想メモリを予約時に開始されますので、こん緩やかなメモリ"漏洩"の並べ替えができます。

一部のsnoopingとwindbgのは、メモリの問題は民間の保RegionUsageIsVADを示すかの人に呼び出しVirtualAlloc.これにより、メモリが割り当て/reserved4の大半1GBれ、いくつかの小さなもの(1/4GBます。

ねとかえることが必要家VirtualAllocとを予約す。そうい?

取り付け、デバッガプロセスに事前にメモリ割り当てが難でw3wp.exe プロセスを開始svchost.exe (IIS/ASP.純フィルタ)やばいで自分自身のためにデバッグまでを閉じなすべてこの大メモリー予約。また、コマンドラインパラメータが無効な場resuseしている感覚でパイプを呼び出しいたします。

Iを付けることができwindbgので、処理後のものであるかのメモリ領域かったがんができることを決定者を割いてどのようにお考えですか。

役に立ちましたか?

解決

ダビデ王 回答はこれを同様の問題:

[...]、ASP.Net 性能を開発者から:

  • の仮想メモリに公正な報道というものは皆無です。眺望できる としてパフォーマンス/キャッシュの前提条件 のCLR.重負荷試験 ことを示に公正な報道というものは皆無 ます。
  • システム。Windowsの場合です。形が良い-引による空こんにちは世界ASPX ページです。利用できるMicrosoftのデバッグ ツール"sx e ld システム。windowsの場合です。フォーム"など 実際に引きで行います。まildasmの 依存性がある。
  • mscorlib-れていることを確認してくださいGACいとNGen思います。

他のヒント

仮想メモリのアドレス空間に割り当てます。でんまりとしたメモリ使用量

参照:

  1. 仮想メモリ
  2. 世界中のWindows:仮想メモリ
  3. http://support.microsoft.com/kb/555223

の予約済みのメモリは、の割り当てられたのメモリとは非常に異なっています。メモリを予約するだけで、アドレス空間を割り当てます。これは、任意の物理ページをコミットしません。

このアドレス空間は、おそらくそのヒープにIISによって割り当てられます。必要なときにのみページをコミットします。

あなたが本当にwindbgのからのw3wp.exeを起動したい場合は、おそらく、有効なコマンドライン引数でそれを起動する必要があります。あなたは現在のために何をコマンドラインを決定するためにプロセスエクスプローラを使用することができますw3wp.exeのプロセスがあります。例えば、私のサーバー上で、鉱山だっます:

  

C:\ WINDOWS \ system32に\ inetsrvに\ w3wp.exeの-a \ \パイプ\のiisipmeca56ca2-3a28-452a-9ad3-9e3da7b7c765 -t 20 -ap "のDefaultAppPool"

私はそこに指定で何UIDわからないんだけど、それはそれはおそらくそこに指定されたパイプに名前を付ける(w3wp.exeのを立ち上げたものです)W3SVCサービスによってオンザフライで生成だ見えます。だから、あなたは間違いなくwindbgのからのw3wp起動する前に、あなたのコマンドラインになります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top