System adminsitrator Chris Siebenmann has found Modern versions of systemd can cause an unmount storm during shutdowns:
One of my discoveries about Ubuntu 20.04 is that my test machine can trigger the kernel's out of memory killing during shutdown. My test virtual machine has 4 GB of RAM and 1 GB of swap, but it also has 347 NFS[*] mounts, and after some investigation, what appears to be happening is that in the 20.04 version of systemd (systemd 245 plus whatever changes Ubuntu has made), systemd now seems to try to run umount for all of those filesystems all at once (which also starts a umount.nfs process for each one). On 20.04, this is apparently enough to OOM[**] my test machine.
[...] Unfortunately, so far I haven't found a way to control this in systemd. There appears to be no way to set limits on how many unmounts systemd will try to do at once (or in general how many units it will try to stop at once, even if that requires running programs). Nor can we readily modify the mount units, because all of our NFS mounts are done through shell scripts by directly calling
mount
; they don't exist in/etc/fstab
or as actual.mount
units.
[*] NFS: Network File System
[**] OOM Out of memory.
We've been here before and there is certainly more where that came from.
Previously:
(2020) Linux Home Directory Management is About to Undergo Major Change
(2019) System Down: A systemd-journald Exploit
(2017) Savaged by Systemd
(2017) Linux systemd Gives Root Privileges to Invalid Usernames
(2016) Systemd Crashing Bug
(2015) tmux Coders Asked to Add Special Code for systemd
(2016) SystemD Mounts EFI pseudo-fs RW, Facilitates Permanently Bricking Laptops, Closes Bug Invalid
(2015) A Technical Critique of Systemd
(2014) Devuan Developers Can Be Reached Via vua@debianfork.org
(2014) Systemd-resolved Subject to Cache Poisoning
(Score: 4, Informative) by RamiK on Sunday May 10 2020, @08:11PM (3 children)
If you're capable of doing cost-analysis for what it takes to develop and maintain a C++ project with the size and complexity of systemd, you're not going to bother developing it as-is or fork it in the first place. And by not going to bother, I mean you'll soon realize there's better and cheaper ways to get the same features without limiting yourself to a handful of highly skilled and limited-in-availability developers.
I mean, Embedded doesn't need it... Gentoo and kin get most of it with fairly simple scripts... Guix's Shepherd is getting all of it and more with LISP scripts... So, why bother?
compiling...
(Score: 2) by NCommander on Sunday May 10 2020, @08:29PM (2 children)
I've seen systemd on "embedded", although that's more people trying to stretch the definition.
Still always moving
(Score: 2) by RamiK on Monday May 11 2020, @01:06AM
Rather fitting for the age of network-connected kitchen appliances and toothbrushes. :/
compiling...
(Score: 2) by PocketSizeSUn on Monday May 11 2020, @08:47PM
Ex: AFAIK all the nividia embedded development base is Ubuntu. For example Tesla uses NVIDIA chips and therefore Ubuntu because that's the kernel with the blobs and swimming upstream in embedded is a real PITA that rarely rewards quickly enough for management to agree to it.