Tips for speeding up your Linux system
Small Tweaks
Also consider the following small, yet efficient tweaks:
- Eliminate excessive cryptographic routines that involve hard drives. To prevent the I/O on your SSD or HDD from contributing to the entropy pool, you can disable the
add_random
setting for your block devices:
# echo 0 > /sys/block/sda/queue/add_random
Linux uses the entropy pool for things like generating SSH keys, SSL certificates, or anything else crypto. Preventing your SSD from contributing to this pool probably isn't a security issue, but it will save you small amounts of I/O.
- Bring parallel drive probing back. It may seem surprising, but modern-day Linux distributions still probe ATA devices serially by default, which is called staggered spin-ups (SSS). This technique goes back to a time when spinning up multiple drives at once caused power usage peaks, and thus the Linux kernel avoided parallel probes. This behavior makes little or no sense on modern systems, especially if there are no rotational drives. Enabling probing ATA drives in parallel speeds up the boot process. First, check if the
SSS
flag is set in your system:
$ dmesg | grep SSS
If it is, add the libahci.ignore_sss=1
boot option to GRUB. A Linux system with several hard drives or SSDs will see a better boot time.
- Mount
/tmp
to RAM. Most Linux systems already usetmpfs
(check it with$ df
), but you can add another RAM-backed mount point to get rid of temporary runtime clutter that usually sits in/tmp
:
$ echo "tmpfs /tmp tmpfs rw, nosuid,nodev 0 0" | sudo tee -a /etc/fstab
This way your system will clear everything found in /tmp
upon every reboot. Doing the same for /var/tmp
is not recommended as long as the /var/tmp
directory is meant to store data persistently.
Conclusion
The very versatile Linux includes many modules, tools, and settings that allow you to tweak the system and improve performance. If you have a computer with insufficient memory or slower-than-expect I/O, or even if you just want to experiment to learn more about Linux, the techniques described in this article will help you take your first steps.
Infos
« Previous 1 2 3
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
Wine 10 Includes Plenty to Excite Users
With its latest release, Wine has the usual crop of bug fixes and improvements, along with some exciting new features.
-
Linux Kernel 6.13 Offers Improvements for AMD/Apple Users
The latest Linux kernel is now available, and it includes plenty of improvements, especially for those who use AMD or Apple-based systems.
-
Gnome 48 Debuts New Audio Player
To date, the audio player found within the Gnome desktop has been meh at best, but with the upcoming release that all changes.
-
Plasma 6.3 Ready for Public Beta Testing
Plasma 6.3 will ship with KDE Gear 24.12.1 and KDE Frameworks 6.10, along with some new and exciting features.
-
Budgie 10.10 Scheduled for Q1 2025 with a Surprising Desktop Update
If Budgie is your desktop environment of choice, 2025 is going to be a great year for you.
-
Firefox 134 Offers Improvements for Linux Version
Fans of Linux and Firefox rejoice, as there's a new version available that includes some handy updates.
-
Serpent OS Arrives with a New Alpha Release
After months of silence, Ikey Doherty has released a new alpha for his Serpent OS.
-
HashiCorp Cofounder Unveils Ghostty, a Linux Terminal App
Ghostty is a new Linux terminal app that's fast, feature-rich, and offers a platform-native GUI while remaining cross-platform.
-
Fedora Asahi Remix 41 Available for Apple Silicon
If you have an Apple Silicon Mac and you're hoping to install Fedora, you're in luck because the latest release supports the M1 and M2 chips.
-
Systemd Fixes Bug While Facing New Challenger in GNU Shepherd
The systemd developers have fixed a really nasty bug amid the release of the new GNU Shepherd init system.