Milvus Query Node Out of Memory (OOM)

Share
Workaround available Self-hosted, Kubernetes Updated November 15, 2026Based on 3 user reportsHow we research

Quick answer

Loading puts index and raw data in RAM. Cut memory by loading fewer fields, using a smaller index, releasing unused collections or adding query nodes.

Most likely fix: Reduce what is loaded

How to fix it

Try these in order — the most common fix is first.

  1. 1. Reduce what is loaded

    1. Use load_fields to load only needed fields (beta, not recommended for production per docs)
    2. Set skip_load_dynamic_field if you do not use $meta keys
    3. Release collections you are not using
    Did this fix it?
  2. 2. Use a lighter index

    1. Move to IVF_SQ8 (third-party guide says about 4x less memory), IVF_PQ, or DISKANN for data larger than RAM
    2. Rebuild the index and reload
    Did this fix it?
  3. 3. Size Kubernetes resources

    1. Set resources.requests and limits for queryNode in the Helm values (docs example: 16Gi limit, 4Gi request)
    2. helm upgrade ... --reuse-values -f resources.yaml
    3. Add query nodes
    Did this fix it?

Symptoms

Query node killed, load fails with OOM, loaded collections show 0 after a kill.

Why it happens

  • Collection larger than node memory
  • Float vectors with HNSW use lots of RAM
  • Index builds peaking alongside searches
  • No Kubernetes resource limits or limits too low

This guide also covers

  • milvus out of memory
  • milvus querynode oom
  • milvus load segment failed oom

Still not working?

If Milvus keeps failing, you're not alone. See every Milvus problem users report or the alternatives people switch to.

Have an app idea? Our small team builds any software: web and mobile apps, games, desktop, AI tools. Price agreed together.

Talk to us
Fixed it? Share this guide

The same problem in other apps

All slow, laggy or resource-hungry guides →

Other Milvus errors