Ubuntu desktop is unstable under memory pressure due to undesireable OOMScoreAdjust values

Bug #2089800 reported by Brett Holman
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
lxd
Unknown
Unknown
snapd
New
Undecided
Unassigned
dbus (Ubuntu)
New
Undecided
Unassigned
gnome-characters (Ubuntu)
New
Undecided
Unassigned
systemd (Ubuntu)
New
Undecided
Unassigned

Bug Description

A logic error in some code I wrote caused lxd to spawn many qemu VMs which caused memory pressure. This caused the OOM killer to be invoked, which killed gnome-character. Because the DefaultOOMPolicy is set to "stop", this caused dbus.service to stop. My system user slice wasn't able to handle running without dbus.service, and it subsequently crashed. Crashing my user session is better than locking up my whole system, I guess, but it still would have been much preferred for a single application (a VM or browser, preferrablky) to have been killed rather than loose all work in process and have to log back in.

I think that we can provide a more stable Ubuntu desktop environment.

tl;dr
=====
We should take a holistic view of the oom_score_adjust / OOMScoreAdjust settings of various systemd services and rethink the priority of these services that is required for a stable linux desktop.

History
=======
Back in 2018, Linux kernel release 4.20 gained a new interface which improved the ability of the linux kernel to identify memory pressure[1][2]. Fast forward to 2020, and systemd 247[3] added experimental support for a new service, systemd-oomd[4], which combines cgroup data with the kernel interface for a more flexible and intelligent approach for killing user processes when faced with memory pressure. This runs by default today.

OOM Score
=========

The linux kernel provides an interface[5] which allows setting whether a process is more or less preferred when selecting a process to kill. The way that oom_score_adj works is approximately: -1000 means "never kill me, and 1000 means "always kill me". Systemd exposes this setting to developers[6] for use in systemd units. Unfortunately developers are posed the question "would you like your process to be killed earlier when under memory pressure?" the answer is typically "no", and so those units which set this value typically configure themselves to be _less likely_ than other processes to be killed, or remain unconfigured and inherit the default value.

Consider an 24.10 Desktop
=========================

This table gets printed shortly before a task is killed, sorted by oom score:

[ pid ] uid tgid total_vm rss rss_anon rss_file rss_shmem pgtables_bytes swapents oom_score_adj name
[ 1027] 0 1027 8057 803 662 141 0 86016 160 -1000 systemd-udevd
[ 2887] 0 2887 38273 210 32 178 0 73728 64 -1000 lxcfs
[ 2814] 103 2814 2961 1040 902 138 0 69632 192 -900 dbus-daemon
[ 2868] 0 2868 21222 272 96 176 0 143360 384 -900 virtlockd
[ 2873] 0 2873 21223 319 96 223 0 147456 384 -900 virtlogd
[ 160354] 135 160354 4251 567 160 407 0 77824 0 -900 systemd-oomd
[ 178363] 0 178363 515293 4179 4138 41 0 425984 160 -900 snapd
[ 165522] 0 165522 12524 981 256 725 0 131072 32 -250 systemd-journal
[ 2811] 0 2811 80606 419 256 163 0 126976 224 0 accounts-daemon
[ 2812] 113 2812 1609 112 32 80 0 53248 32 0 avahi-daemon
[ 2813] 0 2813 3124 226 32 194 0 73728 96 0 bluetoothd
[ 2818] 992 2818 129054 363 160 203 0 212992 416 0 gnome-remote-de
[ 2828] 995 2828 95844 1071 905 166 0 126976 160 0 polkitd
[ 2842] 0 2842 2596 366 160 206 0 61440 224 0 smartd
[ 2847] 0 2847 80150 241 64 177 0 131072 96 0 switcheroo-cont
[ 2850] 0 2850 4385 405 177 228 0 73728 128 0 systemd-logind
[ 2852] 0 2852 4220 263 96 167 0 73728 96 0 systemd-machine
[ 2862] 0 2862 118000 1616 1429 187 0 167936 384 0 udisksd
[ 2875] 0 2875 42224 417 224 193 0 98304 96 0 zed
[ 2898] 104 2898 55022 898 727 171 0 94208 224 0 rsyslogd
[ 2904] 113 2904 1495 184 34 150 0 53248 32 0 avahi-daemon
[ 2958] 0 2958 87896 2074 1839 235 0 192512 288 0 NetworkManager
[ 2989] 0 2989 4118 305 96 209 0 69632 96 0 wpa_supplicant
[ 3123] 0 3123 97465 433 192 241 0 143360 352 0 ModemManager
[ 3352] 127 3352 4503 310 128 182 0 86016 416 0 apt-cacher-ng
[ 3364] 0 3364 1321 206 32 174 0 57344 0 0 lxc-monitord
[ 3372] 0 3372 723 138 0 138 0 45056 0 0 run-cups-browse
[ 3373] 0 3373 723 181 0 181 0 53248 0 0 run-cupsd
[ 3382] 1000 3382 460505 271 128 143 0 249856 736 0 syncthing
[ 3388] 0 3388 32308 454 288 166 0 143360 2208 0 unattended-upgr
[ 3461] 1000 3461 791463 8538 8181 357 0 589824 2052 0 syncthing
[ 3577] 0 3577 15313 280 128 152 0 114688 320 0 cupsd
[ 3588] 0 3588 723 271 0 271 0 45056 0 0 run-cups-browse
[ 3663] 0 3663 4947 159 0 159 0 65536 32 0 cron
[ 3675] 116 3675 2608 207 71 136 0 61440 32 0 kerneloops
[ 3713] 112 3713 6240 226 71 155 0 57344 32 0 dnsmasq
[ 3714] 33 3714 1497 229 64 165 0 57344 96 0 lighttpd
[ 3743] 0 3743 99251 357 192 165 0 143360 64 0 gdm3
[ 3803] 0 3803 80399 265 96 169 0 131072 96 0 power-profiles-
[ 3844] 129 3844 2277 178 3 175 0 61440 96 0 dnsmasq
[ 3845] 0 3845 2277 145 3 142 0 61440 96 0 dnsmasq
[ 3914] 111 3914 21504 215 32 183 0 73728 0 0 rtkit-daemon
[ 4060] 121 4060 82147 975 736 239 0 143360 480 0 colord
[ 4108] 0 4108 82548 588 384 204 0 155648 448 0 upowerd
[ 11732] 0 11732 723 103 0 103 0 49152 0 0 daemon.start
[ 11876] 0 11876 38295 220 64 156 0 73728 0 0 lxcfs
[ 11886] 0 11886 2799112 52250 51631 619 0 1814528 5856 0 lxd
[ 11983] 998 11983 2806 209 96 113 0 69632 0 0 dnsmasq
[ 12007] 998 12007 2627 183 96 87 0 73728 0 0 dnsmasq
[ 14579] 0 14579 1520 226 64 162 0 57344 0 0 virtiofsd
[ 14581] 0 14581 297372 214 72 142 0 86016 0 0 virtiofsd
[ 14603] 998 14603 491756 222007 11833 320 209854 3063808 672 0 qemu-system-x86
[ 17943] 0 17943 1520 187 32 155 0 57344 32 0 virtiofsd
[ 17945] 0 17945 297372 200 41 127 32 90112 64 0 virtiofsd
[ 17966] 998 17966 510445 225065 3778 432 220855 3084288 8928 0 qemu-system-x86
[ 20702] 0 20702 1520 178 32 146 0 57344 32 0 virtiofsd
[ 20704] 0 20704 297372 196 40 156 0 86016 32 0 virtiofsd
[ 20727] 998 20727 493183 235794 3346 393 232055 3084288 9248 0 qemu-system-x86
[ 23487] 0 23487 1520 174 32 142 0 57344 32 0 virtiofsd
[ 23489] 0 23489 297372 166 40 126 0 86016 32 0 virtiofsd
[ 23513] 998 23513 511474 233980 3263 451 230266 3100672 9248 0 qemu-system-x86
[ 26236] 0 26236 1520 204 32 172 0 57344 32 0 virtiofsd
[ 26238] 0 26238 297372 197 8 189 0 86016 64 0 virtiofsd
[ 26260] 998 26260 513077 229520 3235 440 225845 3112960 9376 0 qemu-system-x86
[ 29021] 0 29021 1520 184 32 152 0 53248 32 0 virtiofsd
[ 29023] 0 29023 297372 227 40 155 32 86016 32 0 virtiofsd
[ 29044] 998 29044 494643 242151 3056 595 238500 3096576 9536 0 qemu-system-x86
[ 34474] 0 34474 1520 171 0 171 0 61440 64 0 virtiofsd
[ 34476] 0 34476 297372 189 8 149 32 94208 64 0 virtiofsd
[ 34498] 998 34498 511216 256160 3100 390 252670 3088384 9440 0 qemu-system-x86
[ 37382] 0 37382 1520 170 32 138 0 57344 32 0 virtiofsd
[ 37385] 0 37385 297372 157 8 117 32 98304 64 0 virtiofsd
[ 37404] 998 37404 493041 257403 4758 555 252090 3072000 7776 0 qemu-system-x86
[ 40347] 0 40347 1520 211 64 147 0 53248 0 0 virtiofsd
[ 40349] 0 40349 297372 235 72 163 0 81920 0 0 virtiofsd
[ 40374] 998 40374 493297 256653 11753 523 244377 3080192 608 0 qemu-system-x86
[ 42195] 0 42195 147719 3408 3212 196 0 471040 672 0 fwupd
[ 48817] 0 48817 1520 246 64 182 0 53248 0 0 virtiofsd
[ 48819] 0 48819 297372 187 40 147 0 81920 32 0 virtiofsd
[ 48848] 998 48848 493297 241368 5825 403 235140 3084288 6656 0 qemu-system-x86
[ 51616] 0 51616 1520 210 64 146 0 57344 0 0 virtiofsd
[ 51619] 0 51619 297372 268 73 195 0 86016 0 0 virtiofsd
[ 51640] 998 51640 511217 238896 11486 535 226875 3084288 960 0 qemu-system-x86
[ 57262] 0 57262 1520 155 0 155 0 57344 64 0 virtiofsd
[ 57265] 0 57265 297372 192 9 151 32 94208 64 0 virtiofsd
[ 57290] 998 57290 512049 226493 4518 505 221470 3108864 8320 0 qemu-system-x86
[ 60120] 0 60120 1520 214 32 182 0 53248 32 0 virtiofsd
[ 60122] 0 60122 297372 228 40 188 0 81920 32 0 virtiofsd
[ 60149] 998 60149 510188 235109 10003 438 224668 3080192 2656 0 qemu-system-x86
[ 62891] 0 62891 1520 179 32 147 0 53248 32 0 virtiofsd
[ 62894] 0 62894 297372 157 8 149 0 81920 64 0 virtiofsd
[ 62922] 998 62922 510960 233141 3578 407 229156 3092480 8896 0 qemu-system-x86
[ 71465] 0 71465 1520 194 32 162 0 53248 32 0 virtiofsd
[ 71467] 0 71467 297372 184 41 143 0 81920 32 0 virtiofsd
[ 71496] 998 71496 493041 238808 11394 363 227051 3072000 1056 0 qemu-system-x86
[ 77102] 0 77102 1520 173 32 141 0 57344 32 0 virtiofsd
[ 77104] 0 77104 297372 190 8 182 0 86016 64 0 virtiofsd
[ 77135] 998 77135 492526 242679 10908 345 231426 3084288 1600 0 qemu-system-x86
[ 79945] 0 79945 1520 207 64 143 0 53248 0 0 virtiofsd
[ 79947] 0 79947 297372 293 39 222 32 90112 32 0 virtiofsd
[ 79977] 998 79977 493297 226040 6221 510 219309 3084288 6304 0 qemu-system-x86
[ 94155] 0 94155 1520 202 64 138 0 53248 0 0 virtiofsd
[ 94157] 0 94157 297372 254 72 150 32 90112 0 0 virtiofsd
[ 94194] 998 94194 493296 222829 11559 421 210849 3088384 896 0 qemu-system-x86
[ 96994] 0 96994 1520 216 64 152 0 61440 0 0 virtiofsd
[ 96996] 0 96996 297372 260 72 156 32 98304 0 0 virtiofsd
[ 97022] 998 97022 492784 229989 11539 524 217926 3080192 1056 0 qemu-system-x86
[ 128601] 0 128601 1520 212 64 148 0 49152 0 0 virtiofsd
[ 128603] 0 128603 297372 204 73 131 0 77824 0 0 virtiofsd
[ 128624] 998 128624 492844 248253 12446 460 235347 3076096 96 0 qemu-system-x86
[ 131488] 0 131488 1520 226 64 162 0 53248 0 0 virtiofsd
[ 131490] 0 131490 297372 247 73 142 32 81920 0 0 virtiofsd
[ 131509] 998 131509 491756 268874 12344 556 255974 3035136 96 0 qemu-system-x86
[ 137376] 0 137376 1520 200 64 136 0 53248 0 0 virtiofsd
[ 137379] 0 137379 297372 294 72 190 32 86016 0 0 virtiofsd
[ 137406] 998 137406 510446 259728 11220 596 247912 2990080 1312 0 qemu-system-x86
[ 140244] 0 140244 1520 202 64 138 0 53248 0 0 virtiofsd
[ 140247] 0 140247 297372 230 72 158 0 86016 0 0 virtiofsd
[ 140264] 998 140264 473837 245785 11146 494 234145 2981888 1248 0 qemu-system-x86
[ 143103] 0 143103 1520 222 32 190 0 57344 32 0 virtiofsd
[ 143106] 0 143106 297372 147 8 139 0 86016 64 0 virtiofsd
[ 143125] 998 143125 492013 226098 10966 380 214752 2924544 1440 0 qemu-system-x86
[ 145942] 0 145942 1520 226 64 162 0 57344 0 0 virtiofsd
[ 145945] 0 145945 297372 302 72 230 0 90112 0 0 virtiofsd
[ 145962] 998 145962 509932 260605 12243 521 247841 2961408 64 0 qemu-system-x86
[ 148679] 0 148679 1520 207 32 175 0 53248 0 0 virtiofsd
[ 148682] 0 148682 297372 285 73 212 0 81920 0 0 virtiofsd
[ 148700] 998 148700 511731 268541 12331 434 255776 3047424 64 0 qemu-system-x86
[ 151454] 0 151454 1520 225 64 161 0 49152 0 0 virtiofsd
[ 151457] 0 151457 297372 306 72 202 32 86016 0 0 virtiofsd
[ 151479] 998 151479 493297 263799 12352 567 250880 2990080 64 0 qemu-system-x86
[ 157682] 0 157682 62576 278 160 118 0 118784 32 0 gdm-session-wor
[ 160355] 101 160355 5337 701 576 125 0 77824 0 0 systemd-resolve
[ 160357] 102 160357 22537 313 128 185 0 81920 96 0 systemd-timesyn
[ 163851] 0 163851 152340 557 307 250 0 172032 64 0 pcscd
[ 164275] 0 164275 62576 341 192 149 0 118784 0 0 gdm-session-wor
[ 166952] 0 166952 62576 402 224 178 0 122880 0 0 gdm-session-wor
[ 167346] 0 167346 11594 629 416 213 0 106496 64 0 cupsd
[ 167351] 143 167351 67035 903 704 199 0 180224 32 0 cups-browsed
[ 181107] 0 181107 803 188 0 188 0 53248 0 0 sleep
[ 181248] 0 181248 62801 689 448 241 0 118784 0 0 gdm-session-wor
[ 181368] 1000 181368 61548 388 96 292 0 118784 0 0 gdm-x-session
[ 181378] 1000 181378 255988 14831 13914 917 0 614400 0 0 Xorg
[ 181562] 1000 181562 76596 621 416 205 0 180224 0 0 gnome-session-b
[ 181887] 0 181887 96610 882 640 242 0 200704 0 0 packagekitd
[ 182113] 0 182113 4118 344 160 184 0 73728 0 0 systemd-hostnam
[ 182122] 0 182122 4117 380 192 188 0 77824 0 0 systemd-localed
[ 182469] 122 182469 157533 683 512 171 0 208896 0 0 geoclue
[ 182860] 0 182860 4115 259 96 163 0 77824 0 0 systemd-timedat
[ 181261] 1000 181261 5665 1216 1024 192 0 81920 0 100 systemd
[ 181266] 1000 181266 5503 661 464 197 0 77824 0 100 (sd-pam)
[ 181763] 1000 181763 1179722 58271 57282 989 0 1638400 0 100 gnome-shell
[ 181799] 1000 181799 352808 5809 5644 165 0 655360 0 100 mutter-x11-fram
[ 182588] 1000 182588 739885 5409 3681 1728 0 385024 0 100 gjs
[ 182848] 1000 182848 2892517 64230 61251 2287 692 2007040 0 100 firefox
[ 183244] 1000 183244 53355 2396 2112 219 65 335872 0 100 Socket Process
[ 183387] 1000 183387 604519 5339 4800 307 232 561152 0 100 WebExtensions
[ 183405] 1000 183405 601441 3651 3264 180 207 507904 0 100 Privileged Cont
[ 183456] 1000 183456 72114 3122 1920 1170 32 344064 0 100 Web Content
[ 183458] 1000 183458 2891449 60880 60772 108 0 1314816 0 100 Chroot Helper
[ 183459] 1000 183459 72114 3080 1920 1096 64 339968 0 100 Web Content
[ 183461] 1000 183461 2891453 60979 60871 108 0 1314816 0 100 Chroot Helper
[ 183462] 1000 183462 72114 3099 1920 1147 32 335872 0 100 Web Content
[ 183464] 1000 183464 2891713 61074 60966 108 0 1314816 0 100 Chroot Helper
[ 183465] 1000 183465 72114 3049 1920 1064 65 339968 0 100 Web Content
[ 183468] 1000 183468 2891717 61154 61046 108 0 1314816 0 100 Chroot Helper
[ 183472] 1000 183472 72114 3128 1920 1143 65 344064 0 100 Web Content
[ 183474] 1000 183474 2891721 61227 61119 108 0 1314816 0 100 Chroot Helper
[ 183475] 1000 183475 72114 3001 1888 1081 32 339968 0 100 Web Content
[ 183478] 1000 183478 2891981 61314 61206 108 0 1318912 0 100 Chroot Helper
[ 183479] 1000 183479 72114 3114 1888 1156 70 335872 0 100 Web Content
[ 183481] 1000 183481 2891985 61394 61286 108 0 1318912 0 100 Chroot Helper
[ 183484] 1000 183484 52226 2641 1760 881 0 282624 0 100 firefox
[ 183486] 1000 183486 2891989 61473 61365 108 0 1318912 0 100 Chroot Helper
[ 183487] 1000 183487 72114 3171 1952 1154 65 339968 0 100 Web Content
[ 183490] 1000 183490 2891993 61560 61452 108 0 1318912 0 100 Chroot Helper
[ 183492] 1000 183492 15835 766 288 478 0 122880 0 100 firefox
[ 183494] 1000 183494 2892253 61651 61543 108 0 1318912 0 100 Chroot Helper
[ 183504] 1000 183504 1905 252 0 252 0 53248 0 100 firefox
[ 183505] 1000 183505 2892257 61798 61632 166 0 1318912 0 100 Chroot Helper
[ 181288] 1000 181288 45568 1522 1338 184 0 114688 0 200 pipewire
[ 181289] 1000 181289 24292 288 128 160 0 77824 0 200 pipewire
[ 181297] 1000 181297 162963 2366 2182 184 0 356352 0 200 wireplumber
[ 181300] 1000 181300 46319 849 605 244 0 114688 0 200 pipewire-pulse
[ 181302] 1000 181302 81625 474 256 218 0 143360 0 200 gnome-keyring-d
[ 181310] 1000 181310 2169 723 535 188 0 61440 0 200 dbus-daemon
[ 181405] 1000 181405 173253 323 96 227 0 192512 0 200 xdg-document-po
[ 181409] 1000 181409 79947 320 96 224 0 118784 0 200 xdg-permission-
[ 181416] 1000 181416 692 145 0 145 0 49152 0 200 fusermount3
[ 181659] 1000 181659 95273 321 128 193 0 122880 0 200 at-spi-bus-laun
[ 181666] 1000 181666 1756 245 64 181 0 53248 0 200 dbus-daemon
[ 181699] 1000 181699 40543 327 96 231 0 94208 0 200 gcr-ssh-agent
[ 181700] 1000 181700 24875 299 96 203 0 90112 0 200 gnome-session-c
[ 181719] 1000 181719 81282 373 160 213 0 139264 0 200 gvfsd
[ 181726] 1000 181726 117547 364 128 236 0 155648 0 200 gvfsd-fuse
[ 181729] 1000 181729 132314 813 608 205 0 212992 0 200 gnome-session-b
[ 181802] 1000 181802 58437 341 160 181 0 106496 0 200 at-spi2-registr
[ 181823] 1000 181823 159621 991 640 351 0 200704 0 200 xdg-desktop-por
[ 181863] 1000 181863 284347 3654 3467 187 0 290816 0 200 gnome-shell-cal
[ 181870] 1000 181870 367036 6528 6261 267 0 638976 0 200 evolution-sourc
[ 181874] 1000 181874 58227 1009 823 186 0 94208 0 200 dconf-service
[ 181894] 1000 181894 685563 1320 1067 253 0 266240 0 200 gjs
[ 181922] 1000 181922 118239 1425 1204 221 0 155648 0 200 ibus-daemon
[ 181923] 1000 181923 98624 361 96 265 0 139264 0 200 gsd-a11y-settin
[ 181925] 1000 181925 106090 1771 1617 154 0 192512 0 200 gsd-color
[ 181941] 1000 181941 110020 481 288 193 0 180224 0 200 gsd-datetime
[ 181942] 1000 181942 99033 289 128 161 0 147456 0 200 gsd-housekeepin
[ 181944] 1000 181944 105754 1735 1542 193 0 196608 0 200 gsd-keyboard
[ 181947] 1000 181947 152107 2044 1820 224 0 253952 0 200 gsd-media-keys
[ 181951] 1000 181951 133654 1953 1735 218 0 237568 0 200 gsd-power
[ 181952] 1000 181952 82931 511 288 223 0 151552 0 200 gsd-print-notif
[ 181953] 1000 181953 135422 335 96 239 0 163840 0 200 gsd-rfkill
[ 181956] 1000 181956 80021 371 96 275 0 122880 0 200 gsd-screensaver
[ 181959] 1000 181959 138094 1182 928 254 0 188416 0 200 gsd-sharing
[ 181966] 1000 181966 119842 576 352 224 0 172032 0 200 gsd-smartcard
[ 181972] 1000 181972 101295 438 256 182 0 159744 0 200 gsd-sound
[ 181973] 1000 181973 87519 2031 1833 198 0 184320 0 200 gsd-wacom
[ 181976] 1000 181976 106921 2123 1992 131 0 200704 0 200 gsd-xsettings
[ 181978] 1000 181978 9782 431 192 239 0 114688 0 200 snapd-desktop-i
[ 181979] 1000 181979 227760 3247 3040 207 0 331776 0 200 goa-daemon
[ 181980] 1000 181980 305523 8789 8581 208 0 667648 0 200 evolution-alarm
[ 181993] 1000 181993 100039 973 800 173 0 155648 0 200 gvfs-udisks2-vo
[ 182019] 1000 182019 76498 916 736 180 0 114688 0 200 gsd-disk-utilit
[ 182040] 1000 182040 416639 8753 8596 157 0 811008 0 200 syncthingtray
[ 182103] 1000 182103 99997 369 192 177 0 143360 0 200 goa-identity-se
[ 182127] 1000 182127 80337 310 128 182 0 126976 0 200 ibus-dconf
[ 182134] 1000 182134 89119 3380 3240 140 0 188416 0 200 ibus-extension-
[ 182140] 1000 182140 106121 603 448 155 0 188416 0 200 gsd-printer
[ 182146] 1000 182146 68852 1746 1591 155 0 163840 0 200 ibus-x11
[ 182157] 1000 182157 80230 349 128 221 0 126976 0 200 ibus-portal
[ 182171] 1000 182171 61720 300 96 204 0 114688 0 200 gvfsd-metadata
[ 182227] 1000 182227 497655 9532 9269 263 0 540672 0 200 evolution-calen
[ 182245] 1000 182245 80390 407 192 215 0 122880 0 200 gvfs-gphoto2-vo
[ 182267] 1000 182267 80152 325 160 165 0 122880 0 200 gvfs-mtp-volume
[ 182280] 1000 182280 209450 1120 960 160 0 319488 0 200 evolution-addre
[ 182307] 1000 182307 100316 443 192 251 0 151552 0 200 gvfs-afc-volume
[ 182332] 1000 182332 80097 263 96 167 0 126976 0 200 gvfs-goa-volume
[ 182364] 1000 182364 687617 1315 1115 200 0 278528 0 200 gjs
[ 182391] 1000 182391 61816 297 128 169 0 110592 0 200 ibus-engine-sim
[ 182405] 1000 182405 187255 3905 3680 225 0 274432 0 200 tracker-miner-f
[ 182406] 1000 182406 272359 4694 4480 214 0 565248 0 200 xdg-desktop-por
[ 182495] 1000 182495 106521 1891 1632 259 0 196608 0 200 xdg-desktop-por
[ 182670] 1000 182670 279807 4767 4591 176 0 606208 0 200 nautilus
[ 182671] 1000 182671 248355 5270 5057 213 0 581632 0 200 snapd-desktop-i
[ 182676] 1000 182676 136643 485 224 261 0 176128 0 200 gvfsd-trash
[ 182797] 1000 182797 134414 558 352 206 0 233472 0 200 gnome-calculato
[ 182798] 1000 182798 577172 7477 7255 222 0 860160 0 200 gnome-calendar
[ 182801] 1000 182801 1322041 14036 13836 200 0 1142784 0 200 gnome-character
[ 182803] 1000 182803 353701 5842 5664 178 0 675840 0 200 gnome-clocks
[ 182806] 1000 182806 328747 5153 4945 208 0 606208 0 200 gnome-control-c
[ 182912] 1000 182912 60536 291 32 259 0 102400 0 200 gpg-agent
[ 182915] 1000 182915 23868 197 32 165 0 81920 0 200 scdaemon

Desktop Experience
==================
Looking at the oom_score_adj raises some eyebrows and questions:

- Why should systemd's likelyhood of being killed be higher than the default (100)?
- Why should lxcfs disable OOM (-1000)?
- Why should virtlockd, virtlogd, and snapd (-900) be much less likely to be killed than core system services, such as systemd, systemd-journal.
- Why should firefox's (100) score be the same priority as systemd?
- Why should syncthing (0) have the same score as the networking services that it relies upon (NetworkManager / ModemManager / wpa_supplicant)?
- Why should lxd and the virtual machines that it launches be less likely to be killed than the desktop itself?

Wouldn't an Ubuntu desktop environment which is more stable under memory pressure be more sensible for the default user?

[1] https://lwn.net/Articles/759781/
[2] https://docs.kernel.org/accounting/psi.html
[3] https://lists.freedesktop.org/archives/systemd-devel/2020-November/045646.html
[4] https://www.freedesktop.org/software/systemd/man/latest/systemd-oomd.service.html
[5] (see chapter 3) https://www.kernel.org/doc/Documentation/filesystems/proc.txt
[6] https://www.freedesktop.org/software/systemd/man/latest/systemd.exec.html#OOMScoreAdjust=

$ lsb_release -rd
Description: Ubuntu 24.10
Release: 24.10

Revision history for this message
Brett Holman (holmanb) wrote :
no longer affects: systemd
Brett Holman (holmanb)
description: updated
Brett Holman (holmanb)
description: updated
Brett Holman (holmanb)
description: updated
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.