On Tue, Jan 7, 2020 at 8:09 AM Aleksandra Fedorova <alpha(a)bookwar.info>
wrote:
UX before: system works, I run heavy application, system starts to
hang, i
understand that there is an issue, i can kill the app or reboot, which
gives me clean and working system.
UX after: system works, no visible problems. Suddenly random app
disappears, no errors or crashes reported to me. It might be that my active
app is killed, then I know that smth happened, but what if background
process is killed? Maybe my messenger app?
Or actually:
UX before: system works, I run a heavy application, system starts to hang,
I can't even move my mouse, the application doesn't respond to Alt+F4, I
wait patiently for a few minutes then give up and hard-reboot
UX after: system works, I run a heavy application, system starts to hang, I
can't even move my mouse, the application doesn't respond to Alt+F4, I wait
patiently for a few minutes then the application disappears and I have a
functional system again
In your example you forget that swap needs to filled almost to full for
early-oom to start reacting. That takes time during which the system
responsibility is abysmal. The UX difference happens only after you've
already suffered through a serious responsivity degradation, and the only
difference is the end state, *if* you've managed to wait long enough for
early-oom to kick in (which happens earlier than kernel oom and with better
results about which process gets killed, according to Chris).