On Fri, 2023-03-31 at 12:50 +0200, Lennart Poettering wrote: > On Do, 30.03.23 13:16, Phillip Susi (phill@xxxxxxxxxxxx) wrote: > > > > > Lennart Poettering <lennart@xxxxxxxxxxxxxx> writes: > > > > > oomd/PSI looks at memory allocation latencies to determine memory > > > pressure. Since you disallow anonymous memory to be paged out and thus > > > increase IO on file backed memory you increase the latencies > > > unnecessarily, thus making oomd trigger earlier. > > > > Did this get changed in the last few years? Because I'm sure it used to > > be based on the total commit limit, and so OOM wouldn't start killing > > until your swap was full, which didn't happen until the system was > > thrashing itself to uselessness for 20 minutes already. > > oomd becomes active on two distinct triggers: > > This one: > > https://github.com/systemd/systemd/blob/main/src/oom/oomd-manager.c#L383 > > and this one: > > https://github.com/systemd/systemd/blob/main/src/oom/oomd-manager.c#L486 > > The latter is PSI. We ended up having to disable systemd-oomd on our autobuilder/CI systems since it got upset when a single process tree was using the majority of the system resources (from memory greater than 90%?). On a CI system, we'd expect the majority of the system resources to be used by that single user/process tree so this was a bit annoying and we ended up disabling it. Everything was fine since so it was a false positive. I'm having trouble mapping that behaviour to the above two triggers... Cheers, Richard