PostgreSQL

Excessive work_mem allocation causes OOM Killer to terminate PostgreSQL

critical
Resource ContentionUpdated Sep 11, 2025
Technologies:
How to detect:

Total potential work_mem consumption (max_connections × work_mem) exceeds available system RAM, causing Linux OOM Killer to terminate PostgreSQL process. For example: 500 connections × 100MB work_mem = 50GB potential consumption on a 32GB server.

Recommended action:

Calculate potential consumption: max_connections × work_mem. If this exceeds available RAM, reduce work_mem globally or implement session-level adjustments for specific users. Monitor temp_bytes in pg_stat_statements to identify queries requiring disk-based sorts. Use ALTER SYSTEM SET work_mem = '64MB'; then reload configuration.