debuglinuxCriticalpending
Debug: Linux process using too much memory (OOM)
Viewed 0 times
OOMmemorykilledoom-killerheapprocess
Error Messages
Problem
Process gets killed by OOM killer or system becomes unresponsive due to memory pressure.
Solution
Diagnosis and fixes:
ps aux --sort=-%mem | head -20
top -o %MEM
dmesg | grep -i 'oom\|out of memory\|killed process'
journalctl -k | grep -i oom
cat /proc/<pid>/status | grep -i vm
pmap -x <pid> | tail -5
node --max-old-space-size=4096 app.js
java -Xmx4g -Xms2g -jar app.jar
docker run --memory=2g --memory-swap=2g app
cat /proc/sys/vm/overcommit_memory
# 0=heuristic, 1=always, 2=never overcommit
echo -1000 > /proc/<pid>/oom_score_adj
- Find memory hogs:
ps aux --sort=-%mem | head -20
top -o %MEM
- Check OOM killer logs:
dmesg | grep -i 'oom\|out of memory\|killed process'
journalctl -k | grep -i oom
- Detailed process memory:
cat /proc/<pid>/status | grep -i vm
pmap -x <pid> | tail -5
- For Node.js: Increase heap limit
node --max-old-space-size=4096 app.js
- For Java: Set heap size
java -Xmx4g -Xms2g -jar app.jar
- For containers: Set memory limits
docker run --memory=2g --memory-swap=2g app
- System-level: Adjust overcommit
cat /proc/sys/vm/overcommit_memory
# 0=heuristic, 1=always, 2=never overcommit
- Prevent OOM kills for critical processes:
echo -1000 > /proc/<pid>/oom_score_adj
Revisions (0)
No revisions yet.