- - PR -
EXEファイルのメモリ使用量について
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2003-02-18 14:24
いつもお世話になります。
WindowsFormで作ったEXEファイルを起動しタスクマネージャのプロセスのメモリ使用量を チェックすると24,560Kと表示されています。 .NETでアプリケーションを作成するとこれぐらいの使用量になるのでしょうか? みなさんが作成されたEXEのプロセス使用量はどんなものでしょうか? もしEXE作成時の注意点等があれば教えていただければ幸いです。 ちなみにビルドでEXEは作成しています。 よろしくお願いします。 ************************************************************************* ちなみにコントロールは ラベルが90近く、テキストボックスは3(1つはDate型。いづれもInputMan For .NETを使用) ボタンが12ぐらいです。 DLLを3ファイル参照しています。 |
|
投稿日時: 2003-02-18 15:20
こんにちは。
私の過去発言から、メモリリークとかなんとかを参照して頂ければよくわかりますが、驚くほど大量のメモリを消費するようです。 これは勝手な推測ですが、GCが動作するのは我々プログラマが意図しているタイミングではありません。同時に、GCが「使っていないメモリ」と判断するのも、我々の判断と同じではないようです。 このため、私が過去に騒いだ件では、ロード時200KBほどのプロセスが、最大で70MBほどにまでふくれあがりました。WindowsNT系が扱えるのは2GBの空間ですから、それでもまだ余裕がありますね。 しばらくメモリ使用量を見ていると、GCが「まだ解放しなくてもいいだろう」と判断した(らしい)メモリも、他のプロセスによって解放しなければならなくなると、そのときには解放されるので、あまり気にしなくてもいいようです。先のプロセスは、70MB近くまで2MB刻みでふくれた後、40MBほどまで一気に縮小する、を繰り返していました。 #ところで、リリースモードでビルドされていますよね? |
|
投稿日時: 2003-02-18 17:31
> WindowsFormで作ったEXEファイルを起動しタスクマネージャのプロセスのメモリ使用量を
> チェックすると24,560Kと表示されています。 > .NETでアプリケーションを作成するとこれぐらいの使用量になるのでしょうか? TextBoxとメニューがあるだけの簡易的なメモ帳アプリを作りましたが、起動しただけで12.5MB使用しています。起動時に少し処理はしていますがね。 |
|
投稿日時: 2003-02-19 10:50
Jittaさん、二天さん ありがとうございます。
リリースモードでEXEは作っていますがあまり使用量は変わらないようです。 メイク時、実行時にかなりのリソースが必要とされている.NETを 古い環境(Pentium3でメモリが256MB以下といった環境)で 実行させるのはつらいですね・・。最新の環境であれば なんてことないんでしょうけど。 できれば、みなさんの開発環境、実行環境を教えてもらえますか 私はPen3 メモリ192MBを使っています。 |
|
投稿日時: 2003-02-19 11:35
VS.netは重たいですね。
私の環境はceleron846MHz メモリ384Mです。 メモリをもっと積みたいですね。 最初は128Mだったので256M追加しました。 これだけでも体感かなり違ってきます。 #128Mだとインテリセンスすらなかなか出てこない・・・ |
|
投稿日時: 2003-02-19 12:19
> できれば、みなさんの開発環境、実行環境を教えてもらえますか
> 私はPen3 メモリ192MBを使っています。 私はWinXPで、Cursoe 800MHz、256MB RAMのノートPCで開発&実行しています。 実行自体は(Javaを見てきたせいか)それ程重いとは思っていないです。 起動時はメモリを食いますが、ウインドウを最小化すればそれなりのメモリ使用量になりますし。 ただ、DLL(Sound系)呼び出しをすると違うタスクが常時立ち上がってさらに重くなりますね。 |
|
投稿日時: 2003-02-19 12:28
こんにちは、みかんです。
ちょっと興味本位で自分の作ったexeを試してみたら、System.Xmlを使ってXMLファイルのロードとセーブをしているだけのものですが、Debugで27,xxxKB、Releaseで12,xxxKBくらいになりました。 VB6で、フォームにラベルとボタンがあわせて5つくらい、コードは微量、なやつだと6,xxxKBくらいだったので、なんか変な気分ですね。 開発環境は Mobile P3-1.2GHz/512MB/Windows XP Pro です。 まだ趣味&調査程度のアプリしか作っていないので、実行環境も同じくです。 |
|
投稿日時: 2003-02-19 13:35
コントロールのプロパティやメソッドが増えたり、1DLLにバインドされるコントロールの数が増えたり、継承関係が深くなると、コード量が増えますから、当然消費メモリも大きくなりますね。便利さとのトレードでしょう。
WindowsXP Pro., Pen.4 1800MHz, 768MB(PC2100) |