11

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
14
  • 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, 2019 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, 2019 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. Oct 13, 2019 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.)
    – FedKad
    Oct 13, 2019 at 16:01
  • 2

2 Answers 2

4

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.

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

3
  • What is the conky name? or the link pls:) Oct 14, 2019 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, 2019 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 Oct 14, 2019 at 16:18

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .