Apparently the reason my computer has been taking 2 minutes to boot was a faulty network mount
You can use
systemd-analyze blame
if you want raw numbers:This command prints a list of all running units, ordered by the time they took to initialize. This information may be used to optimize boot-up times.
Good way to see if your systemd also waits 2 minutes for a network connection which already exists but it can’t see it because systemd doesn’t do the networking (lxc containers on proxmox in my case) lol.
Also see systemd-analyze.
Also
systemd-analyze critical-chain
systemd also waits 2 minutes for a network connection which already exists but it can’t see it because systemd doesn’t do the networking
Any way to speed this up? On my system in every boot it waits for network for 30s.
In my case i masked the service because like i said, inside the lxc container there is no networking to do, it’s done on the host (proxmox). Note that disabling the service in my case was not enough since it could be invoked by other services, and then you would have to wait again.
See this for further info and maybe arguments why you shouldn’t do it.
My main offender is something called updatedb.service, whatever that is.
Systemd has so many neat and useful tools that they never tell anyone about :(
deleted by creator
… systemd-analyze plot > plot.svg
Honestly I laughed when it just spit an SVG in text at me. I was wholly expecting a GUI to appear.
Systemd can generate SVGs? Damn thats “bloat” but also unexpectedly fancy
SVGs are just fancy text files after all
If you go far enough, everything is.
But SVGs are one of the few image types that can be human readable and editable
If you go far enough, everything is.
No, SVG are text files, it’s XML. You can write an SVG file representing a square using only a text editor relatively easily.
No, not really. Most image formats produce completely unreadable jumbo only meant to be parsed with clever maths.
TIL: Systemd is great and despite its usefulness, it is often overlooked due to controversy and the current state of things when it comes to software development. https://tadeubento.com/2023/systemd-hidden-gems-for-a-better-linux/
Thanks for the article, I’ve already spotted a few utilities that can come in useful. I’ve heard a lot of criticism about systemd too, but never really actively used it myself until a few weeks ago. I actually quite like it from what I’ve seen so far.
Is there a way to do this for shutdown? It’d be great to debug shutdown hangs.
No, there currently isn’t
And it’s not as easy to add actually. Note that systemd only keeps units loaded as long as they are referenced by something else that is loaded, are running, have failed, or have a job queued. That means if a service is terminated at shutdown there’s a very good chance it is GC’ed away pretty quickly. Now, while systemd keeps timestamping info around for services that tell us how long a service was running, took to start or took to shut down all that info is lost the instant the unit is GC’ed away…
I wrote a long-ish comment in another thread explaining why lots of people don’t like systemd.
Stuff like this is why people do like systemd.
The massive, un unixy and complex tools allow for very powerful and somewhat knowledge agnostic approaches to all sorts of problems.
One of the nicest things about systemds toolset is that it allows a person who relies on finding the problem and googling it to resolve thing much faster than their alternative, learn what’s going on and figure it out.
I don’t mean that as a pejorative, plenty of computer work is maintenance as opposed to engineering and there’s nothing wrong with that.
Removed by mod
The top/1st line is the first service and it cascaded down as each subsequent service starts. Left to right is time elapsed. Bright red line is time to start that service. Shorter is better.
Does that help?
Save output as whatever.html and open in browser.
My bottleneck at boot is my damn Bios… I am so hyped about flashing Heads on my Thinkpad T430.
Even the old legacy Lenovo bioses where very fast at startup. The UEFI (with extremely nice secure-boot settings too) of an AMD Acer starts up in like 2 seconds. My old intel Thinkpad T430 needs like 4 seconds.
And then my Lenovo T495 bullshit UEFI comes. No secure boot configuration at all, I have no idea how to boot from USB sticks, and this thing needs nearly 10 seconds to boot! Linux compared, a full Desktop OS, needs 3 seconds to show SDDM (after the LUKS dialog)
Heads
Dang, my T410 is just too old.
how does it run modern OSses?
Its crazy how expensive T430 etc still are. People know how great they are
I’m shocked how smoothly it runs Gnome on Debian 12. KDE on NixOS was okay but had some noticeable slowdown. Here I was thinking it would be relegated to being an Arch CLI terminal.
The good ol’ Gnome on Wayland on SystemD on GNU on Linux trick
the only “bottleneck” i currently have is plymouth-quit-wait.service, which takes 3.9 seconds. i can live with that
I know you put bottleneck is quotes but just to explain… apparently this service is simply the splash screen that waits on a ready environment. It doesn’t actually delay anything.
abrtd.service, 34 seconds…
thanks fedora, very cool
It tells me that my system boots in 7 seconds. That’s pretty cool, considering that it’s installed on a plain old sata SSD.
POST, however…
I think you a word in your title.
Dang had no idea this was a thing, but this looks very useful! I’ve been meaning to troubleshoot slow startup on one of my servers.
deleted by creator