Find The Boot Processes That Slow You Down

In today’s article, we’re going to show you how to find the boot processes that slow you down. What you do with this information is up to you. You can opt to tweak and try to speed up the boot process, or you can just learn to live with it. It shouldn’t be too long – or too hard.

Note: This article assumes you’re using systemd. If you’re not, get with the program!

With modern computers, even those a decade old, I don’t really understand the fascination with speeding up your boot process. This is especially true with Linux. After all, how often are you booting? People spend 3 hours improving the boot time by 3 seconds!

using uptime to show how long the system has been running
As you can see, I do not reboot all that often, pretty much only as needed.

Even if you reboot every day, unless your boot time is so slow that it’s indicative of a problem, you can always just press the power button as you walk by the computer to get your morning coffee.

This article is aimed towards those who have a slow boot problem. It’s aimed at you people who have slow boot times, boot processes that slow you down without good reason. People interested in optimizing their boot time can also benefit from this article, but that’s not the point.

Also, this article isn’t going to show you what to do next. This article will just be showing you how to find the boot processes that slow you down. The steps you take from there will vary based on your problems or your objectives.

Find The Boot Processes That Slow You Down:

Like oh so often, this is a trip down Terminal Lane. We do a lot in the terminal on Linux-Tips! It’s great to get new users to get comfortable with using the terminal. If you don’t know how to open the terminal, you can do so with your keyboard – just press CTRL + ALT + T and your default terminal should open.

With your terminal now open, we can take a look at the boot process. To do so, let’s start with a basic command:

Picking one of the slower devices in my stable, you end up with an output similar to this picture:

output from systemd-analyze
That’s rather middle of the road, I would assume. You can get much faster and slower.

With that information, you can see how long it takes to reach ‘userspace’. For most folks, that’s going to be the number you’re interested in – as it’s when you can graphically interact with the system, usually to login to the system.

I should also mention that that’s not the total boot time. The computer has its own boot process. This time only includes what happens after POST, as the Linux operating system takes over. It doesn’t include how long you saw the original computer’s OEM logo/boot screens or anything like that. Your real-world boot time will be slightly longer.

So, let’s have some more details and see how that startup is actually working. Let’s see how long it takes for each step of the boot process. To do that, you’d want to look at the following command:

Yup, it’s a bit of clever naming. It’s systemd letting you know what process(es) to blame for a slow boot time. Pretty handy, huh?

If you want, you can even make a nifty picture of the boot process – a picture that includes showing  you the dependencies needed to complete the boot process. 

That’ll output an image that’s quite large, to large to bother including, but it’s easy enough to understand. If you’re having serious issues booting, that image might be something you can share with a forum when you’re asking for assistance.

What steps you take next will depend on your individual situation. If you’re looking to speed up your boot process, you can mask services that you don’t need. If you’re having problematic services and/or dependencies, your situation will be different and require different fixes.

Closure:

And there you have it! You have another article. This article tells you how to find boot processes that slow you down, so it’s an article that could be helpful to all sorts of people. Once you have this information, you can start looking to make changes. It’s a handy way to get boot process information with systemd.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

How To: Show systemd Services

Today we’re going to have a quick and easy article, one where I show you how to show systemd services. We’ll explore a way to show all services and those services that are currently running. It’ll be nice and easy. 

At this point, systemd isn’t really all that controversial. It was for a while and there are still some people who work kinda hard to not use systemd. That’s their right and I support their choices, but I dare say that most of us now use systemd and that aiming articles at the majority is a good idea. So, I have no problem covering systemd stuff – and I have even less trouble treating it as though systemd is the default.

It’s kinda hard to pin down a definition for systemd. It’s far more than an init system, which it was replacing fairly early on. It has grown to encompass quite a bit more than that. So, let’s just look at how Wikipedia describes systemd.

systemd is a software suite that provides an array of system components for Linux[6] operating systems. Its main aim is to unify service configuration and behavior across Linux distributions;[7] Its primary component is a “system and service manager”—an init system used to bootstrap user space and manage user processes. It also provides replacements for various daemons and utilities, including device management, login management, network connection management, and event logging.

So, you can see it’s pretty expansive. For this article, we’ll be looking at the service manager aspect and how to show your systemd services. Let’s just jump into the article, so that we can keep it relatively brief.

Show systemd Services:

This article requires an open terminal, like many other articles on this site. If you don’t know how to open the terminal, you can do so with your keyboard – just press CTRL + ALT + T and your default terminal should open. (I say this so very, very often…)

So, I said I wanted to keep this article brief – and there’s really no reason to make it longer, so this is how you show all the myriad systemd services:

Or you can try:

Either one or both of those commands should show you all the systemd services, regardless of what state they’re in. Though it should show you the state of the services listed.

A more useful command for most of us would be for us to show the various systemd services that are currently active. Of course you can do that! It’s Linux! You can do everything! It’s not even hard! Just try this command:

You can also try this command:

If you pay attention to the syntax, you can also opt to show those systemd services that are inactive. It’s probably pretty obvious, but try this:

Or you can try this one (’cause you have choices):

So, as you see, you can show the systemd services in total, show the active systemd services, or choose to show the systemd services that are inactive. It’s not a complicated task and there’s no reason to make it seem complicated. As the tag line says, we’re slowly but surely bringing you up to speed!

Closure:

And there you have it. You have a new article! This time you’ve learned how to show all of your assorted services – and to show the services in all their running states. Some folks like to make this sort of thing look complicated, but it’s really very easy. So, enjoy the new article and know that I appreciate your readership.

Thanks for reading! If you want to help, or if the site has helped you, you can donate, register to help, write an article, or buy inexpensive hosting to start your own site. If you scroll down, you can sign up for the newsletter, vote for the article, and comment.

Subscribe To Our Newsletter
Get notified when new articles are published! It's free and I won't send you any spam.
Linux Tips
Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 International License.