Hey all,
We are running GDS in an ephemeral Neo4J sidecar in K8S.
We give that pod 120GB of ram but noticed it OOM died at ~ 40GB max usage.
Digging into the docs we found this page
But what I'm wondering is: Why do we need to bother? Can't Neo4J just use everything we give it? It's running in a pod, having to maintain & align 2 "upper thresholds" in parallel is kind of painful.
Any way to make neo4j utilize the full system memory instead of having to manually manage heap?
I wish the answer was yes. But no, for now, you have to configure memory in a way so it fits your workload. So for your ephemeral GDS pod, I would give as much as possible to heap.
Usually, I set both initial and max to the same value:
server.memory.heap.initial_size=10g
server.memory.heap.max_size=10g
Good approach to run GDS as an ephemeral side kick, keep up the good work. I will try to circle back to you because there may be some exciting new tricks later on (ping me in a month?).