64bit windows7 Pro + VisualStudio2010 + C# でメモリをたくさん使いたいと思います。
パソコンは16GB を積んでいます。
とりあえずサンプルとしてシンプルなクラスを100,000,000 個位new してList に収めるだけのものを作ってみました。
ところが3~4GB を超えた位(10,000,000に満たない数)でクラスのnew に失敗します。対策としてGC.Collect() をこまめに明示的に呼び出してみましたが、3~6GB 程度でやはり失敗します。今度は最悪でブルースクリーンにもなりました。
調子の良い時は7GB を超えた時もありますが、最後には失敗します。
32GB に増強すれば、発症も2倍程度にまで伸ばせますか?それとも根本的な理解が間違ってますか?
# メモリ使用量を抑えるのが常套という回答は今回は結構です。メモリの多いマシンに合わせて既存のアプリを改良できたら考えておりますゆえ。
No.2ベストアンサー
- 回答日時:
Listに要素を追加する場合、瞬間的に要素数の2倍以上のメモリを消費するハズ。
LinkedLisでtはいかがでしょうか。
ありがとうございます。
List に要素を追加する時にですが・・・。list 作成時に大きさをあらかじめ指定できるのですが、それがあるなしでエラーが出る事があります。
LinkedList は指定できず、それゆえかどうかはわかりませんが、やはりうまくいきません。(ちなみに10,000,000 個前後でダメです)
wikipedia によるとクラスはヒープ、構造体はスタックとありました。実際にいろいろパターンを変えて試したところ、構造体をList<List<structX>> の入れ子にして100個づつに分割して保持してみたところ、唯一エラーなく大量にメモリを使えました。
#ファンですw
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・人生のプチ美学を教えてください!!
- ・10秒目をつむったら…
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・【大喜利】【投稿~9/18】 おとぎ話『桃太郎』の知られざるエピソード
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「ヒープサイズの設定」て何?
-
プログラム実行中に強制終了
-
解放と開放 漢字について
-
再帰関数について
-
CPUやメモリの使用率を調べ...
-
C,C++プログラムの強制終了時の...
-
C言語における再帰呼び出しの...
-
「memcpy」と「strcpy」について
-
動的メモリとexit(C言語)
-
C言語で、メモリを解放しないで...
-
エクセル キャッシュメモリー...
-
メモリの増加に関して
-
エクセルのメモリ使用状況/Appl...
-
値のコピーについて
-
CImage::ReleaseDC()のエラーで...
-
ウインドウズのシステムにおけ...
-
大容量のメモリ確保をスワップ...
-
Macターミナルで実行中のプログ...
-
HTA(HTMLアプリケーション)にて...
-
StrConvの使い方について教えて...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
VBAの配列サイズとメモリに関して
-
C言語で、メモリを解放しないで...
-
C言語における再帰呼び出しの...
-
メモリ不足
-
「ヒープサイズの設定」て何?
-
動的メモリとexit(C言語)
-
エクセルのメモリ使用状況/Appl...
-
大容量のメモリ確保をスワップ...
-
【C言語】再帰が時間がかかる...
-
バッチファイルでの実行EXEのメ...
-
メモリのセグメント違反の解決...
-
「memcpy」と「strcpy」について
-
ExcelのVBAでメモリ解放できない
-
これて逆じゃないですか?
-
メモリを解放しないとどうなる?
-
ファイルマッピング関数で失敗
-
エクセルVBA 大容量CSVファイル...
-
メモリアロケーション異常の発...
-
エクセル キャッシュメモリー...
-
Apacheでバーチャルホストの最...
おすすめ情報