The attached kernel patch (applied on top of 4.18.5) that I've tried,
almost completely eliminates the disk thrashing(the constant reading of
executable(and .so) files on every context switch) associated with
freezing the OS and so, with this patch, the OOM-killer is triggered
within a maxium of 1 second when it is needed, rather than, without this
patch, freeze the OS for minutes(or just a long time, it may even auto
reboot depending on your kernel .config options set to panic(reboot) on
hang after xx seconds) with constant disk reading well before OOM-killer
gets triggered.

More info as to why OS freezes with constant disk reading when running
out of RAM, here: https://unix.stackexchange.com/a/463469/306023

The patch is from inside this question:
https://stackoverflow.com/q/52067753/10239615

Note: I don't recommend using this patch in production, without actual
programmers saying that it's ok first. I'm not a programmer. Maybe some
programmer could improve it?

I am using the patch currently inside a Qubes OS R4.0 Fedora 28 AppVM
where I can easily reproduce freezing the VM's OS (+ the constant disk
thrashing, seen from `sudo iotop` in dom0) without the patch, while
attempting to compile firefox with 4000MB max RAM setting for the VM,
and with the patch basically no freezing and little to no disk thrashing
during the 1 second it takes for OOM-killer to kill the offending
process(es).


** Patch added: "le9b.patch"
   
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/159356/+attachment/5183022/+files/le9b.patch

-- 
You received this bug notification because you are a member of Kernel
Packages, which is subscribed to linux in Ubuntu.
https://bugs.launchpad.net/bugs/159356

Title:
  System freeze on high memory usage when DMA is disabled

Status in linux package in Ubuntu:
  Incomplete

Bug description:
  I run a batch matlab job server here at my lab, running Dapper 6.06 (for the 
LTS). One of the users has submitted a very memory-consuming job, which 
successfully crashes the server. Upon closer inspection, the crash happens like 
this:
  1. I run matlab with the given file (as an ordinary, unpriveleged user)
  2. RAM usage quickly fills up
  3. Once the RAM meter hits 100%, the system freezes: All SSH connections 
freeze up, and while switching VTs directly on the machine works, no new 
processes run - so one can't log in, or do anything if he is logged in. 
(Sometimes typing doesn't work at all)

  Note that the swap - while 7 gigs of it are available - is never used.
  (The machine has 7 gigs of RAM as well)

  I've tried the same on my Gutsy 32-bit box, and there was no system
  freezeup - matlab simply notified that the system was out of memory.
  However, it did this once memory was 100% in use - and still, swap
  didn't get used at all! (Though it is mounted correctly and shows up
  in "top" and "free").

  So first thing's first - I'd like to eliminate the crash issue. I
  suppose I could switch the server to 32-bit, but I think that would be
  a performance loss, considering that it does a lot of heavy
  computation. There is no reason, however, that this should happen on a
  64-bit machine anyway. Why does it?

  WORKAROUND: Enabling DMA in the BIOS

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/159356/+subscriptions

-- 
Mailing list: https://launchpad.net/~kernel-packages
Post to     : kernel-packages@lists.launchpad.net
Unsubscribe : https://launchpad.net/~kernel-packages
More help   : https://help.launchpad.net/ListHelp

Reply via email to