- - PR -
プロセス(aspnet_wp.exe)が肥大化
投稿者 | 投稿内容 | ||||
---|---|---|---|---|---|
|
投稿日時: 2005-04-27 11:35
asp.netにて開発を行っていますが、突然.netの処理が動かなくなり、エラーが発生します。エラー時、タスクマネージャーにのプロセス(aspnet_wp.exe)を調べたところメモリ使用量が通常50KB程度なのですが、その時はいつも200KB〜300KB使用しています。こちらを、開放することでエラーは回避できるのですが、何故メモリーが開放されずにたまっていくのか、理由を調査中です。同じような経験をされた方がいましたらご教授して頂けないでしょうか。宜しくお願いします。
| ||||
|
投稿日時: 2005-04-27 11:44
今日は。
まず開発されているAPできちんとメモリの解放処理を行っているか 調べるのが最初だと思いますが。 _________________ Inspired Ambitious ISMS Assistant Auditor | ||||
|
投稿日時: 2005-04-27 12:23
なんて貧弱なメモリ量… 冗談は置いといて、たとえばセッションに大量のデータを保持しているとか、あるいはそのままメモリに残っていってしまうようなデータの扱い方をしているとか、そういうことはありませんか? | ||||
|
投稿日時: 2005-04-27 12:31
NAOさん、なちゃさんありがとうございます。
メモリのクリアを見直して行こうと思います。 ありがとうございます。 | ||||
|
投稿日時: 2005-04-27 19:16
200KB程度ならまったく正常です。私のところは70MBとかいってますし。過去ログ漁れば、GBまで上がった!とか叫んだ記憶がある。
解放されずにたまっていくのは、ガベージコレクションが動作する時期ではないからです。ガベージコレクションがされれば、減ります。なので、プログラムが停止するのは、それが原因ではないと思います。 まずは、自分のプログラムを疑うべきです。対象技術について詳しくないなら、なおのことです。 なお、.NET Frameworkでは、メモリは解放する必要はありません。いや、マネージドメモリ、と言い直しておこう。解放する必要があるのは、管理されないリソースです。 ですから、ソースを眺めて、「これNothnig代入してないや」とか、「deleteしてないや」では見つけ出せません。 マニュアルで、IDisposeインターフェイスを実装しているか確認し、実装していればDisposeあるいは代替メソッドをコールします。 _________________ | ||||
|
投稿日時: 2005-04-27 19:21
エラーの内容を提示すると、答えに近づくヒントが貰えるかもしれません。 | ||||
|
投稿日時: 2005-04-28 10:07
Jittaさんいろいろアドバイスありがとうございます。ガベージコレクション関係もさぐってみます。後、NAL-6295さんエラーメッセージはブラウザに「サーバー アプリケーションは使用できません。」と表示されます。プログラムも併せて見直しを行います。ありがとうございます。
| ||||
|
投稿日時: 2005-04-28 10:12
推測ですが、大きいファイルをアップロードしようとしていませんか? http://support.microsoft.com/default.aspx?scid=kb;ja;323246 #エラーに至る過程を記述すると、より回答を得やすくなるかもしれません。 _________________ 「伝える」とは「人に云う」と書く。 http://d.hatena.ne.jp/NAL-6295/ |