Thanks @pauldoo.
Endless OS has a component called “psi-monitor” which attempts to monitor memory pressure. When it detects that your system is really struggling to allocate memory, to the point where it would be hard to even use the UI to close an app, it is supposed to step in and kill a process via OOM killer.
What you are seeing here is that this is misfiring, as you describe it is causing the kill to happen when the system does not appear to be in any trouble at all.
Based on your feedback we have done a re-review of the thresholds used here, and as a result we are going to try quadrupling this to 40% in the next EOS6.0 beta release. Indeed it was too sensitive at this point. We will also make it easier to log what the pressure is, and adjust the threshold.
What is still unexplained and weird is why your system is reporting >10% memory pressure when it is relatively idle. Yours is the only report we have of this on EOS5.1. Interesting that this might be related to multi-gen LRU.
While we work on that new beta release, in the mean time if you want to stop this killing from happening until next reboot, the command is: systemctl stop psi-monitor
If curious you can use this command to watch memory pressure:
$ cat /proc/pressure/memory
some avg10=0.00 avg60=0.00 avg300=0.00 total=37884
full avg10=1.11 avg60=0.00 avg300=0.00 total=36783
The “full avg10” value is the one we monitor. In the above fictional example it says that all running processes have been prevented from doing useful work because the kernel is busy doing memory-management for 1.11% of the last 10 seconds. If that value were to exceed 10.0 (or soon, 40.0), psi-monitor will request an OOM kill.