0

データセットを GraphDB 7.0 にロードしようとしています。Sublime Text 3 でデータを変換してロードするための Python スクリプトを作成しました。プログラムが突然動作を停止して終了し、コンピューターが再起動すると脅されましたが再起動しませんでした。GraphDB ではクエリを実行できないため、数時間分の計算を失いました。インサート。これは、GraphDB で発生するエラーです。

The currently selected repository cannot be used for queries due to an error:

org.openrdf.repository.RepositoryException: java.lang.RuntimeException: There is not enough memory for the entity pool to load: 65728645 bytes are required but there are 0 left. Maybe cache-memory/tuple-index-memory is too big.

JVM を次のように設定します。

-Xms8g
-Xmx9g

キャッシュ メモリとインデックス メモリの値として何を設定したか正確には覚えていません。この問題を解決するにはどうすればよいですか?

記録のために、私が解析する必要があるデータベースには約 300k のレコードがあります。プログラムは約 50k で閉店しました。この問題を解決するにはどうすればよいですか?

4

1 に答える 1

2

ワークベンチを開き、キャッシュ メモリに割り当てたメモリの量を確認します。

Xmx は、

cache-memory + memory-for-queries + entity-pool-hash-memory

残念ながら、後者はリポジトリ内のエンティティの数に依存するため、簡単には計算できません。次のいずれかを行う必要があります。

  1. Xmx の値を大きくして Java メモリを増やします。
  2. キャッシュメモリの値を減らします
于 2016-05-19T13:51:17.980 に答える