How To Make Ubuntu Faster

How To Make Ubuntu Faster

Reading time1 min
#Linux#OpenSource#Performance#Ubuntu#Systemd#BootOptimization

How to Streamline Ubuntu Boot Time by Disabling Unnecessary Daemons

Long boot times drain productivity and frustrate users, undermining the efficiency gains Ubuntu promises. Trimming startup processes tackles performance at its root, yielding immediacy and responsiveness from the moment you power on.

Instead of piling on more hardware or tweaking cosmetic settings, dive deep into Ubuntu's startup services. We'll expose which processes are safe to disable and how cutting these fat leads to a lean boot that respects your time.


Why Focus on Startup Services?

When you power on your Ubuntu machine, the operating system launches a variety of background services—or daemons—that manage everything from networking to printing. While many of these are essential, others could be unnecessary depending on your use case. Every service started during boot eats up time and system resources.

By trimming down this list, you reduce the work your system does before you even get to the desktop. The result? Faster booting, quicker response times, and a smoother experience without buying new hardware or shaking up your workflow.


Step 1: Evaluate Your Current Services

Let's begin by identifying which services run at startup.

Open a terminal and run:

systemctl list-unit-files --state=enabled

This command lists all enabled units (services) with their names and current states.

You can filter to show only enabled services with:

systemctl list-unit-files --type=service --state=enabled

Look through this list for services that don’t align with your usage. For example:

  • If you don’t use Bluetooth devices regularly, bluetooth.service can be disabled.
  • If you’re not in a networked environment requiring printing, cups.service (print server) is expendable.
  • If you don’t use modem connections, ModemManager.service can go.

Step 2: Learn Which Services Are Safe to Disable

Some services are vital for basic system operation—disabling those can break your Ubuntu setup. But many are optional or related to specific hardware or apps.

Here are some commonly safe-to-disable services if they don’t reflect your workflow:

Service NamePurposeCan You Disable It?
bluetooth.serviceBluetooth supportYes
cups.servicePrinting supportYes if no printer
ModemManager.serviceModem managementYes if no modem
avahi-daemon.serviceNetwork discoveryYes if not needed
snapd.serviceManage snap packagesYes but snaps depend on it
whoopsie.serviceError reporting serviceYes
apport.serviceCrash reportingYes

Note: Always google specific service names before disabling if unsure!


Step 3: Disable Unnecessary Services

Example: Disabling Bluetooth service

  1. Check status:

    sudo systemctl status bluetooth.service
    
  2. Stop service immediately:

    sudo systemctl stop bluetooth.service
    
  3. Disable it on boot:

    sudo systemctl disable bluetooth.service
    

Repeat similar steps for each service you choose to trim.


Step 4: Use systemd-analyze to Measure Impact

Before and after your tweaks, measure how your boot time is affected.

Run:

systemd-analyze

You'll get output like this:

Startup finished in 3.249s (firmware) + 1.872s (loader) + 7.668s (kernel) + 12.345s (userspace) = 25.134s 
graphical.target reached after 12.123s in userspace

To see which services take the longest:

systemd-analyze blame

This shows all started services sorted by startup time—e.g.:

5.129s NetworkManager-wait-online.service  
3.842s cups.service  
1.326s bluetooth.service  
...

You can then target the slowest irrelevant ones for disabling.


Step 5: Advanced — Mask Services if Necessary

If a disabled service restarts due to dependencies or user actions, consider masking it:

sudo systemctl mask bluetooth.service

This prevents anyone or anything from starting it unless unmasked again:

sudo systemctl unmask bluetooth.service

Use masking cautiously!


Bonus Tips to Speed Up Ubuntu Boot

  • Limit Snap Packages: Snap apps load daemons at startup; remove unused snaps with:

    snap list
    snap remove <package-name>
    
  • Optimize Grub Timeout: Decrease boot menu wait time:

    Edit /etc/default/grub, change:

    GRUB_TIMEOUT=2 
    

    (or lower). Then update Grub:

    sudo update-grub
    
  • Enable Parallel Booting: Usually enabled by default in recent Ubuntu releases via systemd, but verify with:

    cat /etc/systemd/system.conf | grep DefaultTimeoutStartSec
    
  • Use Lighter Display Manager: Swap heavy desktop managers with lightweight ones (e.g., GDM → LightDM).


Wrap-Up

By taking control of which daemons Ubuntu launches at boot, you reclaim precious seconds wasted waiting for your system to wake up — making daily computing more fluid and less frustrating.

While some background tasks ensure functionality or security, many others exist only out of convenience for specialized workflows you might not even need.

Start small, check what’s running now with systemctl, disable cautiously, and benchmark changes using systemd-analyze. Over time, you'll build a leaner setup that boots fast, respects your attention span, and ultimately empowers productivity.

Don't forget — the goal isn't just a quicker boot but a smoother overall experience from power-on onward.

Happy tweaking!


Have questions or want me to cover specific services or deeper optimization? Drop a comment below!