Stories
Slash Boxes
Comments

SoylentNews is people

posted by Fnord666 on Sunday May 10 2020, @06:47PM   Printer-friendly
from the stormy-weather dept.

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


Original Submission

 
This discussion has been archived. No new comments can be posted.
Display Options Threshold/Breakthrough Mark All as Read Mark All as Unread
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
  • (Score: 1, Interesting) by Anonymous Coward on Sunday May 10 2020, @08:30PM (3 children)

    by Anonymous Coward on Sunday May 10 2020, @08:30PM (#992520)

    As an ex-code-plodder-along who dealt more with databases than kernels, but now increasingly just an ageing, helpless passenger on the Linux train... what would it take to have a spin of Mint or Manjaro (forget Debian & Arch) that have your alternative init system? Or how would one go about replacing systemd with epoch on an existing system? Mint, years back used upstart, but then upstream debian and ubuntu switched to systemd and it was a choiceless done deal.

    Starting Score:    0  points
    Moderation   +1  
       Interesting=1, Total=1
    Extra 'Interesting' Modifier   0  

    Total Score:   1  
  • (Score: 2) by Reziac on Monday May 11 2020, @03:14AM

    by Reziac (2489) on Monday May 11 2020, @03:14AM (#992645) Homepage

    PCLinuxOS does not use systemd.

    From here in userland I don't care one way or the other so long as the OS is stable, but this is my preferred distro, so... there it is. Or rather, isn't.

    --
    And there is no Alkibiades to come back and save us from ourselves.
  • (Score: 2) by janrinok on Monday May 11 2020, @08:10AM (1 child)

    by janrinok (52) Subscriber Badge on Monday May 11 2020, @08:10AM (#992709) Journal

    Ubuntu still let you install SysV-init on versions up to and including 19.10 [ubuntu.com], but I'm not going to re-install one to check which packages it used. I've just checked 20.04 and sysv-init-utils is still there, but there is also systemd-sysv there too which suggests it isn't the sysv-init that we all know. As I've never tried switching to it I do not know how well (or otherwise) it works.

    A quick online search suggests that some have reverted to sysv-init successfully but not in huge numbers.