On Tue 20-08-19 20:25:32, David Rientjes wrote: > On Tue, 20 Aug 2019, Edward Chron wrote: > > > For an OOM event: print oom_score_adj value for the OOM Killed process to > > document what the oom score adjust value was at the time the process was > > OOM Killed. The adjustment value can be set by user code and it affects > > the resulting oom_score so it is used to influence kill process selection. > > > > When eligible tasks are not printed (sysctl oom_dump_tasks = 0) printing > > this value is the only documentation of the value for the process being > > killed. Having this value on the Killed process message documents if a > > miscconfiguration occurred or it can confirm that the oom_score_adj > > value applies as expected. > > > > An example which illustates both misconfiguration and validation that > > the oom_score_adj was applied as expected is: > > > > Aug 14 23:00:02 testserver kernel: Out of memory: Killed process 2692 > > (systemd-udevd) total-vm:1056800kB, anon-rss:1052760kB, file-rss:4kB, > > shmem-rss:0kB oom_score_adj:1000 > > > > The systemd-udevd is a critical system application that should have an > > oom_score_adj of -1000. Here it was misconfigured to have a adjustment > > of 1000 making it a highly favored OOM kill target process. The output > > documents both the misconfiguration and the fact that the process > > was correctly targeted by OOM due to the miconfiguration. Having > > the oom_score_adj on the Killed message ensures that it is documented. > > > > Signed-off-by: Edward Chron <echron@xxxxxxxxxx> > > Acked-by: Michal Hocko <mhocko@xxxxxxxx> > > Acked-by: David Rientjes <rientjes@xxxxxxxxxx> > > vm.oom_dump_tasks is pretty useful, however, so it's curious why you > haven't left it enabled :/ Because it generates a lot of output potentially. Think of a workload with too many tasks which is not uncommon. -- Michal Hocko SUSE Labs