私は Neo4j を初めて使用し、Javascript ドライバーで Neo4j デスクトップ バージョンを使用しています。私のグラフには約 30.000 のノードと 40.000 のエッジがあります。最後のアプローチは、グラフ内のすべての単純なサイクルを取得することですが、次の暗号クエリを実行しようとしているときにヒープ オーバーフローに直面しています。
let res = await session.run('MATCH p=(n)-[*2..4]-(n) RETURN nodes(p)')
これはもちろん、クエリが見つかったすべての単純なサイクルを返そうとするためです。これは私のヒープにはあまりにも多く、残念なことに node.js のメモリを増やすことはオプションではありません。
この問題を回避して、グラフからすべての単純なサイクルを取得する方法はありますか?
これが私が得たヒープオーバーフローエラーです:
/Users/paulus/.nvm/versions/node/v15.10.0/bin/node /Users/paulus/routeplanner/RouteFinder.js
<--- Last few GCs --->
[39630:0x104e00000] 227813 ms: Scavenge (reduce) 2033.5 (2077.9) -> 2032.1 (2072.1) MB, 113.5 / 0.0 ms (average mu = 0.577, current mu = 0.321) allocation failure
[39630:0x104e00000] 228171 ms: Scavenge (reduce) 2036.5 (2072.6) -> 2035.5 (2075.6) MB, 28.6 / 0.0 ms (average mu = 0.577, current mu = 0.321) allocation failure
[39630:0x104e00000] 228558 ms: Scavenge (reduce) 2039.1 (2075.6) -> 2038.5 (2080.4) MB, 28.2 / 0.0 ms (average mu = 0.577, current mu = 0.321) allocation failure
<--- JS stacktrace --->
<--- Last few GCs --->
[39630:0x104e00000] 227813 ms: Scavenge (reduce) 2033.5 (2077.9) -> 2032.1 (2072.1) MB, 113.5 / 0.0 ms (average mu = 0.577, current mu = 0.321) allocation failure
[39630:0x104e00000] 228171 ms: Scavenge (reduce) 2036.5 (2072.6) -> 2035.5 (2075.6) MB, 28.6 / 0.0 ms (average mu = 0.577, current mu = 0.321) allocation failure
[39630:0x104e00000] 228558 ms: Scavenge (reduce) 2039.1 (2075.6) -> 2038.5 (2080.4) MB, 28.2 / 0.0 ms (average mu = 0.577, current mu = 0.321) allocation failure
<--- JS stacktrace --->
FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
<--- Last few GCs --->
[39630:0x104e00000] 227813 ms: Scavenge (reduce) 2033.5 (2077.9) -> 2032.1 (2072.1) MB, 113.5 / 0.0 ms (average mu = 0.577, current mu = 0.321) allocation failure
[39630:0x104e00000] 228171 ms: Scavenge (reduce) 2036.5 (2072.6) -> 2035.5 (2075.6) MB, 28.6 / 0.0 ms (average mu = 0.577, current mu = 0.321) allocation failure
[39630:0x104e00000] 228558 ms: Scavenge (reduce) 2039.1 (2075.6) -> 2038.5 (2080.4) MB, 28.2 / 0.0 ms (average mu = 0.577, current mu = 0.321) allocation failure
<--- JS stacktrace --->
FATAL ERROR: MarkCompactCollector: young object promotion failed Allocation failed - JavaScript heap out of memory
Process finished with exit code 139 (interrupted by signal 11: SIGSEGV)