Bug 42102

Summary: OOM killer kills incorrect and too many processes
Product: Memory Management Reporter: Dave Reisner (dreisner)
Component: OtherAssignee: David Rientjes (rientjes)
Status: RESOLVED OBSOLETE    
Severity: high CC: alan
Priority: P1    
Hardware: All   
OS: Linux   
Kernel Version: 3.0.1 Subsystem:
Regression: No Bisected commit-id:
Attachments: full log of oom-killer activity

Description Dave Reisner 2011-08-30 18:03:09 UTC
Created attachment 70912 [details]
full log of oom-killer activity

I woke up this morning to discover that the OOM killer was invoked 23 times, taking down a large number of processes. This is a self-configured x86_64 kernel running on 12GB of RAM. Particularly concerning in the attached log is:

- It doesn't seem obvious to me where I was out of memory. git (gc cron job) is the only suspicious process, but the RSS at the time doesn't look at all dangerous.
- Processes with an extremely low oom_score_adj were nuked. In particular, polkit and dbus-daemon, with a score of -900, were taken down. Much to my dismay, tmux, mutt, mpd and a tail of my syslog were all survivors of this.

Other possibly related:

- I'm using systemd, so cgroups are involved.
- I do enable KSM, but at the time I had no VMs running and no shared pages merged.
- BZ#39452 seems related, but the OP says the behavior is fixed in 3.0.1.
- .config: http://pkgbuild.com/~dreisner/config
- commit 3a5dda7a17cf3706f79b86293f29db02d61e0d48 -- just pointing out a recent behavioral change. not sure if this is relevant.
- dmesg: http://pkgbuild.com/~dreisner/dmesg.log -- this has some of the oom-killer activity picked up after syslog-ng died.