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で質問しましょう!
似たような質問が見つかりました
- その他(パソコン・周辺機器) タブレットで使用するUSBメモリについて 7 2022/05/26 14:27
- CPU・メモリ・マザーボード Windows10 64bitパソコンのメモリ 4GBから8GBへ増設 11 2023/01/25 18:20
- CPU・メモリ・マザーボード FF14をやるにあたって 3 2022/09/16 22:28
- CPU・メモリ・マザーボード 質問お願いします 「「RAM2GB+拡張4GB」などと書いてあるのは、搭載されているメモリ(RAM) 6 2023/08/28 12:31
- その他(パソコン・周辺機器) 回復ドライブは何回も作れますか? 4 2022/11/01 21:13
- ビデオカード・サウンドカード PC版:スーパーロボット大戦30 推奨環境を満たしておりますが、動作(処理)が遅いかもしれません。 1 2023/01/26 13:45
- ノートパソコン あなたのパソコン(Windows限定)は何年使っていますか? 4 2023/05/27 08:04
- CPU・メモリ・マザーボード パソコンに詳しい方教えて下さい!! 以下のパソコンを使っています。 Lenovo ideapad L 4 2022/11/08 09:05
- デスクトップパソコン 色々試してもモニター側で信号が検出されませんでしたと表示され、画面が真っ暗な状態になってしまいます。 3 2022/04/04 21:54
- CPU・メモリ・マザーボード AUSU PRIME X570-PROというマザーボードを使用しており、タルコフというゲームを快適に 2 2022/12/31 15:38
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAの配列サイズとメモリに関して
-
C言語で、メモリを解放しないで...
-
メモリのセグメント違反の解決...
-
LoadLibraryしたらFreeLibrary
-
メモリの解放について VB6 VBA
-
C言語における再帰呼び出しの...
-
メモリ不足
-
動的メモリとexit(C言語)
-
【C言語】再帰が時間がかかる...
-
C#のOutOfMemoryException発生...
-
ファイルマッピング関数で失敗
-
メモリアロケーション異常の発...
-
再帰関数について
-
Bitmapを重ね合わせる方法
-
EXCEL-VBAにてADOのレコードセ...
-
プログラムの最大メモリ消費量...
-
緯度、経度の 10進法と 60進法...
-
Macターミナルで実行中のプログ...
-
スレッドの安全な終了のさせ方
-
バックグラウンドのプロセスの...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
C言語で、メモリを解放しないで...
-
VBAの配列サイズとメモリに関して
-
「ヒープサイズの設定」て何?
-
C言語における再帰呼び出しの...
-
エクセルVBA 大容量CSVファイル...
-
動的メモリとexit(C言語)
-
エクセルのメモリ使用状況/Appl...
-
メモリが不足しています(VBA)
-
ファイルマッピング関数で失敗
-
大容量のメモリ確保をスワップ...
-
メモリのセグメント違反の解決...
-
メモリ不足
-
EXCEL-VBAにてADOのレコードセ...
-
エクセル キャッシュメモリー...
-
【C言語】再帰が時間がかかる...
-
C#のOutOfMemoryException発生...
-
メモリの解放について VB6 VBA
-
バッチファイルでの実行EXEのメ...
-
closeとメモリの開放について
-
「memcpy」と「strcpy」について
おすすめ情報