BDB JE に約 5 億 200 万行を挿入するマシンがあります。キーと値の例は次のとおりです。
juhnegferseS0004-47-19332 39694.290336
すべてのキーと値はほぼ同じ長さです。JVM は、次のパラメーターで開始されます。
-Xmx9G -Xms9G -XX:+UseConcMarkSweepGC -XX:NewSize=1024m -server
それでも、約 50,000,000 行に達すると、JVM は「強制終了」されます (「強制終了」というメッセージが表示されますが、どのように/誰によって強制終了されたのかわかりません)。ガベージコレクションを実行しようとすると、十分なメモリなどを解放できないと思います。しかし、その量の -Xmx があれば、問題はないと思います。
deferredWrites を使用しており、ログ ファイルのサイズは 100MB に設定されています。DPL から Base API に切り替えても違いはありませんでした。
JDK 6.0 と SUSE x86_64 を 12GB の RAM で使用しています。残りの RAM を必要とする他のプロセスがあるため、この挿入タスクに実際に 9GB 以上を割り当てることはできません。
JVM:
java version "1.6.0_26"
Java(TM) SE Runtime Environment (build 1.6.0_26-b03)
Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode)
この問題を解決するためのヒントをいただければ幸いです。