Linux thrashing

Vanligvis har Linux vært kjent for å kreve lite resurser. Dette ser ut til å endre seg når man kjører Chrome på gammel PC. Jeg har en HP Compaq nc6320 som til stadighet har låst seg opp med kontinuerlig disk-aktivitet i det siste. Chrome med en haug samtidige tabs ser ut til å være utløsende faktor.

Oppgradering til 4Gb ram løste ikke problemet. Ei heller å ikke bruke swap. Jeg har gått ut fra at dette er et klassisk eksempåel på thrashing, dvs at systemet bruker alle resurser på å flytte prosesser inn og ut av minnet og får lite eller ingen tid igjen til bruker-programmene.

Jeg har derfor forsøkt user-space programmer for å drepe prosesser som låser opp systemet.

Thrash-protect

Git: https://github.com/tobixen/thrash-protect.git

Skrevet i python. Fungerer brukbart, men tar mye resurser på min svært gamle maskin. Jeg er usikker på om fordelen med å unngå lockup overstiger ulempen med redusert ytelse.

oomd

Facebook har nylig laget en tilsvarede funksjon i C++.

Git: https://github.com/facebookincubator/oomd

oomd er kun støttet på RerdHat, men en port til Debian unstable er på vei. Jeg installerte fra source under Debian buster.

$ sudo apt install meson pkg-config libjsoncpp-dev libsystemd-dev \ libgtest-dev libgmock-dev

$ git clone https://github.com/facebookincubator/oomd 
$ cd oomd 
$ meson build && ninja -C build 
$ cd build && sudo ninja install

Konfig ender opp i /usr/local/etc/oomd/ og /usr/local/lib/systemd/system
systemctl må restartes.

Debian buster har kjerne 4.19, mens oomd krever > =4.20. Jeg fant 5.x fra backport.
Legg inn følgende i /apt/sources.list

#Backports to get kernel 5.x (ØJ)
deb http://deb.debian.org/debian buster-backports main

Søk etter tilgjengelig kjerneversjon med apt search og installer kjerne og headers:

sudo apt update
apt search linux-image
sudo apt install linux-image-5.4.0-0.bpo.3-amd64
sudo apt install linux-headers-5.4.0-0.bpo.3-amd64
sudo reboot

Verifiser oomd med systemctl status oomd.service etter reboot.

Sjekk status:

$ sudo oomd -d

{
   "oomd.dropin.added" : 0,
   "oomd.dropin.fired" : 0,
   "oomd.kills" : 0
}

Virker som endret kjerne løser mye av problemet. Betydelig mindre bruk av swap og ingen lockout så langt:

top - 13:29:43 up  2:45,  1 user,  load average: 0.47, 0.74, 0.85
Tasks: 217 total,   1 running, 215 sleeping,   1 stopped,   0 zombie
%Cpu(s):  8.6 us,  5.7 sy,  0.0 ni, 85.7 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   3240.8 total,    147.3 free,   2438.7 used,    654.8 buff/cache
MiB Swap:   3431.0 total,   2492.7 free,    938.2 used.    301.8 avail Mem