Linux is rubbish when RAM runs low
A developer has pointed out what many people have been complaining about for some time: Linux is terrible when memory runs low.
Writing in a message to the Linux kernel mailing list, developer Artem S Tashkinov says that the problem has been "bugging people for many years" and is still present in version 5.2.6 of the Linux kernel. He says that non-technically minded users could be prompted to ditch Linux-based OSes if they encounter the issue which he points out is "is reproducible in less than a few minutes under the latest and greatest kernel".
- NordVPN brings WireGuard-based NordLynx to Linux users
- Ubuntu-based Linux Mint 19.2 'Tina' is here with Cinnamon, MATE, and Xfce
- Get 'Linux All-In-One For Dummies, 6th Edition' ($30 value) FREE for a limited time
The developer points out that the problem is incredibly easy to reproduce, saying that the way Linux performs when it is used on a system with 4GB of RAM installed -- and with other criteria met -- is "not how the system should behave in this situation". The "other criteria" are far from extraordinary, meaning that poor performance is a problem many people could encounter.
The only real criterion, other than having a small amount of RAM available, is that the swap file should be disabled -- something which is very common. Then you need to launch a web browser -- Chrome, Chromium and Firefox are mentioned -- and "start opening tabs in either of them and watch your free RAM decrease".
In his message Tashkinov says:
Once you hit a situation when opening a new tab requires more RAM than is currently available, the system will stall hard. You will barely be able to move the mouse pointer. Your disk LED will be flashing incessantly (I'm not entirely sure why). You will not be able to run new applications or close currently running ones.
He goes on to say: "This little crisis may continue for minutes or even longer. I think that's not how the system should behave in this situation. I believe something must be done about that to avoid this stall. I'm almost sure some sysctl parameters could be changed to avoid this situation but something tells me this could be done for everyone and made default because some non tech-savvy users will just give up on Linux if they ever get in a situation like this and they won't be keen or even be able to Google for solutions".
While various solutions and workaround have been suggested, it will be quite some time before one is adopted and implemented on a wide scale.