メモリの断片化について
Posted: 2012年7月20日(金) 14:01
DXライブラリとGoogle V8 Javascript Engine を使ったプログラムを開発しているのですが、
10回に3,4回の割合で起動中にプログラムが停止します。
環境は、
[tab=30]MinGW + gcc 4.6.2
[tab=30]Windows Vista Home Basic
[tab=30]3GB RAM
[tab=30]プログラム起動成功時のプロセス使用メモリ量: 260MB
デバッガ(GDB)経由で起動した場合は今のところこの現象が確認できていません。
プログラムが停止するタイミングはまちまちなのですが、
起動時にスクリプト実行→画像ロード→スクリプト実行→画像ロードという手順が繰り返されている時のようです。
詳しくはまだチェックできていませんが、何度もメモリの確保をしている部分です。
また、しばしば Javascriptエンジンが "Allocation Failed" というエラーを出します。
原因は特定できていないのですが、今のところメモリの断片化によるアロケーション失敗を疑っています。
メモリの断片化について少し調べてみたのですが、
Windows環境において果たしてこのようなアロケーションの失敗が起こりうるのかがよく分かりません。
これだけの情報では判断が困難かと思いますが、
起動失敗の原因がメモリの断片化である可能性はあるのでしょうか?
よろしくお願いします。
10回に3,4回の割合で起動中にプログラムが停止します。
環境は、
[tab=30]MinGW + gcc 4.6.2
[tab=30]Windows Vista Home Basic
[tab=30]3GB RAM
[tab=30]プログラム起動成功時のプロセス使用メモリ量: 260MB
デバッガ(GDB)経由で起動した場合は今のところこの現象が確認できていません。
プログラムが停止するタイミングはまちまちなのですが、
起動時にスクリプト実行→画像ロード→スクリプト実行→画像ロードという手順が繰り返されている時のようです。
詳しくはまだチェックできていませんが、何度もメモリの確保をしている部分です。
また、しばしば Javascriptエンジンが "Allocation Failed" というエラーを出します。
原因は特定できていないのですが、今のところメモリの断片化によるアロケーション失敗を疑っています。
メモリの断片化について少し調べてみたのですが、
Windows環境において果たしてこのようなアロケーションの失敗が起こりうるのかがよく分かりません。
これだけの情報では判断が困難かと思いますが、
起動失敗の原因がメモリの断片化である可能性はあるのでしょうか?
よろしくお願いします。