掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
メモリ不足について (ID:19371)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
エラーの内容も記憶が薄れており、ちょっと状況が違うかもしれませんが、 (たぶん)似たような状況になったことがあります。 とあるレコード型のデータをリスト化して保持するため、GetMem,FreeMemを使用し、 その都度メモリの取得・開放を行っているプログラムがありました。 計算途中には、けっこう大量のデータを処理することもあったので、 一時的にはメモリ使用量も増えますが、作業後にはきっちり開放するようにしていたので、 メモリ使用量は、増えっぱなしではありません。 ですが、とある段階でGetMemだったか、ほかのメモリ確保だったかで失敗し、 たしか「メモリ不足です」というメッセージが表示されました。 ・大量のデータを扱ったとき限定で発生し、少ないデータでは発生しない。 ・時間がかかる処理だったので、詳細まで追っていないが、概ね同じようなタイミングで発生(再現性あり) ・当時は、まだXPが発売されていない時で、NTか2000での使用 当時の解決策は、よくわからんだのですが、メモリの確保に問題があると見て、 必要な時に一件ずつメモリ確保していた部分を、ある程度まとめて所得してしまうように修正しました。 1回Getmem→処理→1回Getmem→処理→1回Getmem→・・・終了・・・→全てFreeMem を 100回Getmem→処理→確保済みのメモリ使用→処理→確保済みのメモリ使用→・・・ のようにしました。 不思議です。 これだけで、ぴたりとエラーは発生しなくなりました。 以後同じようなエラーに悩まされたことはありません。 勝手にメモリの断片化による弊害と位置付けましたが、詳細は不明です。
←解決時は質問者本人がここをチェックしてください。
更新する
戻る
掲示板システム
Copyright 2021 Takeshi Okamoto All Rights Reserved.