Milvus

Memory Pressure During Index Build

warning
Resource ContentionUpdated Nov 3, 2025

Index building and optimization phases consume peak memory (up to 6.6GB observed), and when combined with concurrent search load or insufficient memory allocation, can trigger OOM conditions or force excessive disk I/O via MMAP, degrading performance.

How to detect:

Monitor memory usage trends during index build phases, tracking both Milvus heap usage and Go memory statistics. Alert when heap usage approaches node memory limits (>80% utilization) or when memory usage spikes >50% during index builds. Watch for correlation with increased disk I/O when MMAP is enabled.

Recommended action:

Provision sufficient memory headroom (2-3x peak index build usage) for query nodes. Schedule index builds during off-peak hours. Use MMAP strategically to balance memory pressure and latency. Consider incremental indexing strategies or smaller batch sizes. Monitor and tune indexnode.scheduler.maxCpuUsage and indexnode.memory.lowWatermark.