Replies: 2 comments 4 replies
-
|
Yes, Ragflow's high resource consumption in Kubernetes is expected—especially if you haven't set explicit resource requests or limits in your deployment. By default, the Helm chart leaves the resource section empty, so Ragflow pods can consume all available node resources, which often leads to node exhaustion in shared clusters. This is due to Ragflow's architecture: it loads heavy dependencies (like PyTorch, numpy, and LLM providers) and uses resource-intensive document parsing, especially with advanced parsers like "deepdoc" or "mineru" and large PDFs. High idle memory usage is also common because models and libraries are preloaded and kept in memory even when not actively processing tasks [source]. To prevent node exhaustion, set resource requests and limits for the Ragflow pod in your Helm values.yaml under ragflow:
deployment:
resources:
requests:
cpu: "4"
memory: "16Gi"
limits:
cpu: "8"
memory: "32Gi"Other ways to reduce resource usage: use the "slim" Docker image if you don't need local embedding models, tune environment variables like If you see memory usage continually growing, especially after document processing, you might be hitting a known memory leak—try the latest nightly build, and as a workaround, set up periodic restarts with health checks to avoid OOM crashes [source]. For production, maintainers recommend at least 64GB RAM and more than 16GB GPU memory for stable operation under load [source]. Let me know if you want more details on tuning or specific config examples! To reply, just mention @dosu. How did I do? Good | Irrelevant | Incorrect | Verbose | Hallucination | Report 🐛 | Other |
Beta Was this translation helpful? Give feedback.
-
I think these resource limits are too tight for RAGFlow. CPU and memory will be insufficient |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
Hello,
I'm creating this Q&A discussion just to be extra sure that this is expected. We have a application pool in our Kubernetes cluster where Ragflow is also deployed. After it was deployed though, we've been getting node exhaustion errors because Ragflow seems to be consuming almost all resources we have available.
Is this expected? Does it look right?
Thanks.
Beta Was this translation helpful? Give feedback.
All reactions