• ベストアンサー

メモリの解放について

メモリの解放について c#で、Mysqlへデータセットするプログラムを作っているのですが、登録する度にメモリが増加していきます。昔、VC++で同じようなプログラムを作成した時にも同現象が発生したので、SetProcessWorkingSetSize()を使って解決したのですが、c#では、解決する方法はあるのでしょうか? ご教授お願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
noname#116136
noname#116136
回答No.1

DataSet はレコード操作をSQL 文として保持しています。Update() 時に実行する訳です。 従ってレコード操作の度にメモリを消費してゆくのは当然かと思います。といっても微々たるもんでしょう? まぁソレとは別に、ガーベッジコレクタは必要な時にしか動きません。あなたがメモリ消費について心配しなくてもいいはずです。 #メモリが少ない環境ではそれなりに早めにメモリ破棄が行われますから。ガーベッジコレクタには強制的に発動するメソッド(System.GC.Correct()?)もありますが・・・、これ実際の動作はどうだったかなぁ・・・。 .Net のガーベッジコレクタは今は十分に信頼できるはずですよ。

w0a15455
質問者

お礼

ありがとうございます。 勉強になりました。 心配しないようにします。

関連するQ&A