Question

智弘八木 on Thu, 04 Sep 2014 00:50:38


お世話になっております。八木と申します。

ある案件で
・WindowServer2003R2→2012R2
・IIS6.0→IIS8.0
・.net Framework2.0→4.0
・メモリ:12GB
・言語:VisualC#

にOS環境を置き換えたのですが
その結果、IISのワーカープロセスが肥大化し
リサイクルがかかってもうまくメモリが開放されなくなって
しまいました。

ソース上はfinalizeで抜けているので
ガーベージコレクションさえうまくかかれば、
メモリが自動で開放され廃棄される考えて
おります。

これまではリサイクル時にガーベージコレクションが働き
メモリが開放されていたようです。

上記についてですが
・想定されるメモリ肥大化の原因
・イベントログ・IISマネージャなどの確認方法
・できればソースコードを変更せず
 ガーベージコレクションをかける設定方法。

などご回答をいただければと存じます。
どうぞよろしくお願いいたします。


Sponsored



Replies

佐祐理 on Thu, 04 Sep 2014 01:11:20


.NET FrameworkよりもASP.NET特有の話題と思います。

ASP.NETでのワーカープロセスのリサイクルとはワーカープロセスを終了し新しいプロセスを立ち上げることを指します。その上で質問文にある「リサイクルがかかってもうまくメモリが開放されなく」とは何を指しているのでしょうか? プロセスが終了したにもかかわらず何らかのメモリが解放されていないということでしょうか? であればどこのメモリ量を計測されたのかをまず示してください。

それとも質問者さんの書かれた「リサイクル」が何か別のものを指しているのでしたら、用語定義を明確にしてください。

智弘八木 on Thu, 04 Sep 2014 01:24:02


御回答ありがとうございます。ご参考にさせていただきます。

星 睦美 on Thu, 04 Sep 2014 04:13:23


フォーラム オペレーターの星 睦美です。
智弘八木 さん、こんにちは。

ASP.NET フォーラムに新しく質問を投稿いただきましたので、こちらのスレッドは佐祐理 さんからのアドバイスに私から[回答としてマーク] して終了させていただきますね。

・ASP.NET フォーラム 「.net Framework4(VisualC#)のガーベージコレクションについて

フォーラムで役立つ回答がありましたら、投稿者からの[回答としてマーク」をお願いします。