1

Java で Neo4j データベースを使用しており、大量のノードを配置する必要がありますが、メモリ不足エラーが発生しています。次のように1000ノードごとにトランザクションをコミットすることで、メモリ不足を遅らせることができました。

Transaction tx = graphDb.beginTx();
try
{   
   try (BufferedReader br = Files.newBufferedReader(Paths.get("page_links_en.ttl"), StandardCharsets.UTF_8)) {
   int n = 0;          
   for (String line = null; (line = br.readLine()) != null;) {
      n++;
      Node node = graphDb.createNode();
      node.setProperty("uri",line);
      if((n % 1000) == 0){                              
        tx.success();
        tx.close();                     
        tx = graphDb.beginTx()
      }
   }
}...

残念ながら、これはメモリ不足エラーが発生する時間を遅らせただけです。この問題はノードの作成に関係しており、アプリの他の部分に他のメモリ リークはないと確信しています。そこで、この問題について助けを求めたいと思います。

前もって感謝します。

4

0 に答える 0