0

これは一般的な問題だと思いますが、16GB RAM を搭載した Mac OS X 10.8 で LucidDB データベース (0.9.4) を実行している場合に役立ちます。データベース ソフトウェアは、主に Java で作成され、一部は C++ で作成されています。バッファ プール サイズを 1GB に増やしたところ、次のエラーが発生しました。

java(669,0xfc621000) malloc: * mmap(サイズ=16777216) 失敗しました (エラーコード=12) エラー: 領域を割り当てられません * * デバッグするために malloc_error_break にブレークポイントを設定します

バッファー プールは共有メモリを使用していると思われるため、使用可能な最大共有メモリ (kern.sysv.shmmax、kern.sysv.shmall) を 2GB に増やしました。また、Java ヒープ サイズ (Xms、Xmx) を 1536MB に増やしました。私は立ち往生しています、何かヒントはありますか?

4

1 に答える 1

1

Linux でこれらの奇妙な低レベル エラーが発生するたびに、スワップ不足や仮想メモリの頻繁な再マッピングなど、何らかのリソースの不足が原因であることがわかりました。実行中のプログラムのすべてのメモリ マッピングのダンプを提供するユーティリティがあるはずです。マッピングの数が多すぎるかどうかを確認します。

于 2012-12-09T00:03:36.793 に答える