5

Ubuntu 18.04

I keep having same issue - due to my bad habbits, my Firefox gets to open and hold in memory too many tabs. This causes RAM usage to eventually hit 100%
At which point whole system hardlocks. I can't even move my cursor to press "end process" in system monitor.

Same behavior appears when I run my code and take too much memory - everything stops working, mouse becomes unresponsive.

My guess is obvious - shortage of free memory blocks Gnome or Ubuntu itself.
So my guessed solution would be to make those OS systems reserve memory to always work and respond.

How do I do that?


as requested

$ free -h
              total        used        free      shared  buff/cache   available
Mem:           7,7G        4,3G        281M        1,2G        3,1G        1,9G
Swap:          2,0G        1,5M        2,0G
$ sudo sysctl vm.swappiness

vm.swappiness = 60
  • 3
    Normally there is some swap, in 18.04 LTS usually a swap file. Check with swapon. When swapping, the system will be very slow, but it will still work. When you run out of swap, the system will get no longer work. So you may need more swap space, but the best option is to get into the habit of closing tabs in the browser. If you really need more memory to run your own program, you should get more RAM. – sudodus Oct 13 '19 at 14:20
  • 1
    Are you sure that the whole operating system is locked, not only the program that is locked, or maybe only very very slow (due to swapping)? – sudodus Oct 13 '19 at 14:29
  • 2
    It's worth a try as a quick test, increasing /proc/sys/vm/min_free_kbytes. Otherwise, I agree with @sudodus ' comments. – Doug Smythies Oct 13 '19 at 15:20
  • 1
    When such "hardlock" occurs, just press Ctrl+Alt+F3 and try to login to text only screen. If you log in (it may be slow), you can detect the process that is stuck by some commands like top, htop, etc. (Note: To go back to your graphical environment use Ctrl+Alt+F2.) – FedonKadifeli Oct 13 '19 at 16:01
  • 2
2

Instead of a thousand words: system hang prevention with nohang: https://youtu.be/PLVWgNrVNlc

Nohang is a highly configurable daemon for Linux which is able to correctly prevent out of memory (OOM) and keep system responsiveness in low memory conditions: https://github.com/hakavlad/nohang

But easiest way is installing earlyoom. This program is in the repositories starting with ubuntu 18.04: just run sudo apt install earlyoom.

| improve this answer | |
0

All you really need to do is close a FireFox tab or two before you hit 100% RAM. But how do you know when you approach that point?

You can have a script running that pops up a notification bubble at 95%:

What I do is have conky always running showing me my system status:

conky 30 second clip.gif

| improve this answer | |
  • What is the conky name? or the link pls:) – Mohammad Kholghi Oct 14 '19 at 14:43
  • there is also the lite gnome-system-monitor, conky would need more ressources and bridle more in case of compiling/running some heavy programs – damadam Oct 14 '19 at 15:03
  • 1
    @MohammadKholghi Conky is a tool that allows you to design your own system monitor: A beginners guide to conky and my own conky setup: Setting to High Performance – WinEunuuchs2Unix Oct 14 '19 at 16:18

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.