<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Systemd on Linux Café</title>
    <link>https://mrtomlinux.org/tags/systemd/</link>
    <description>Recent content in Systemd on Linux Café</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Fri, 16 Oct 2026 09:18:49 +0200</lastBuildDate>
    <atom:link href="https://mrtomlinux.org/tags/systemd/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Running My Home NAS Backups with `nice` and `ionice` So My Desktop Never Freezes</title>
      <link>https://mrtomlinux.org/post/2026-10-16-running-my-home-nas-backups-with-nice-and-ion/</link>
      <pubDate>Fri, 16 Oct 2026 09:18:49 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-10-16-running-my-home-nas-backups-with-nice-and-ion/</guid>
      <description>&lt;p&gt;Running a nightly backup from a home NAS to a desktop is a common task, but the copy can still hog the machine’s resources and make the UI feel sluggish.&lt;br&gt;&#xA;The trick is to let the backup run with low CPU and I/O priority so the desktop stays responsive. Two simple tools—&lt;code&gt;nice&lt;/code&gt; and &lt;code&gt;ionice&lt;/code&gt;—are all you need.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-the-problem-matters&#34;&gt;Why the problem matters&lt;/h2&gt;&#xA;&lt;p&gt;When a &lt;code&gt;rsync&lt;/code&gt; or &lt;code&gt;tar&lt;/code&gt; job copies gigabytes of data, the kernel’s scheduler keeps the process in the foreground class. Even if you’re not actively using the machine, the backup can consume CPU cycles and saturate the disk queue. On a laptop or a desktop with a single NVMe drive, this shows up as a frozen terminal, delayed window redraws, or a sluggish browser.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Using a systemd path unit to clean my home server’s cache when disk space hits 90%</title>
      <link>https://mrtomlinux.org/post/2026-10-14-using-a-systemd-path-unit-to-clean-my-home-se/</link>
      <pubDate>Wed, 14 Oct 2026 10:01:46 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-10-14-using-a-systemd-path-unit-to-clean-my-home-se/</guid>
      <description>&lt;h2 id=&#34;when-the-disk-is-almost-full&#34;&gt;When the disk is almost full&lt;/h2&gt;&#xA;&lt;p&gt;I’ve run a handful of home‑servers for years, and the first thing that usually trips you up is a suddenly full disk.&lt;br&gt;&#xA;Caches from &lt;code&gt;apt&lt;/code&gt;, Docker, Flatpak, and the like can balloon without you noticing.&lt;br&gt;&#xA;A quick, automated cleanup that only kicks in when the root filesystem is &amp;gt;90 % used keeps the system sane without you having to remember to run a script every week.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Fixing the “root=UUID not found” error after cloning an SSD with Clonezilla</title>
      <link>https://mrtomlinux.org/post/2026-10-11-fixing-the-rootuuid-not-found-error-after-clo/</link>
      <pubDate>Sun, 11 Oct 2026 11:50:54 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-10-11-fixing-the-rootuuid-not-found-error-after-clo/</guid>
      <description>&lt;h2 id=&#34;when-clonezilla-says-rootuuid-not-found&#34;&gt;When Clonezilla says &lt;em&gt;root=UUID not found&lt;/em&gt;&lt;/h2&gt;&#xA;&lt;p&gt;Cloning a bootable SSD with Clonezilla is usually painless, but the new machine can stall at the kernel prompt with:&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-text&#34; data-lang=&#34;text&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;root=UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx not found&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;p&gt;The kernel can’t locate the root filesystem because the UUIDs in the boot configuration still point to the original disk. The fix is a handful of targeted edits and rebuilds.&lt;/p&gt;&#xA;&lt;h3 id=&#34;1-verify-the-new-uuids&#34;&gt;1. Verify the new UUIDs&lt;/h3&gt;&#xA;&lt;p&gt;Boot from a live USB, open a terminal and list the block devices:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Rootless Podman Container Drops Its Persistent Volume After a Reboot: A Quick Fix for My HomeLab 🚀</title>
      <link>https://mrtomlinux.org/post/2026-10-09-rootless-podman-container-drops-its-persisten/</link>
      <pubDate>Fri, 09 Oct 2026 11:56:11 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-10-09-rootless-podman-container-drops-its-persisten/</guid>
      <description>&lt;p&gt;Running containers without root is a lifesaver, but I hit a snag the other night. I had a small database container that wrote data to a named volume, and the next time I rebooted my machine the data was gone. Turns out the volume directory was being created under a transient mount that didn’t survive shutdown.&lt;/p&gt;&#xA;&lt;h3 id=&#34;why-the-volume-vanishes&#34;&gt;Why the Volume Vanishes&lt;/h3&gt;&#xA;&lt;p&gt;In rootless mode Podman keeps everything under &lt;code&gt;~/.local/share/containers/storage&lt;/code&gt;. When you do &lt;code&gt;podman volume create&lt;/code&gt;, it records the mount point in a JSON file there. On reboot the user‑session systemd instance that owns the rootless runtime comes back up, but systemd doesn’t automatically remount the user‑created volumes unless you tell it to. The result? The container starts, and the volume looks like a fresh empty directory.&lt;/p&gt;</description>
    </item>
    <item>
      <title>systemd‑resolved’s DNS Cache Stale After a Router Update: My One‑Command Fix</title>
      <link>https://mrtomlinux.org/post/2026-10-07-systemdresolveds-dns-cache-stale-after-a-rout/</link>
      <pubDate>Wed, 07 Oct 2026 09:06:40 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-10-07-systemdresolveds-dns-cache-stale-after-a-rout/</guid>
      <description>&lt;p&gt;I was staring at a blinking screen of a freshly flashed router when I realized the whole LAN had lost its DNS mojo. I could ping &lt;code&gt;192.168.1.1&lt;/code&gt; fine, but &lt;code&gt;curl example.com&lt;/code&gt; slammed back with &lt;em&gt;“Could not resolve host”&lt;/em&gt;. No amount of &lt;code&gt;dig&lt;/code&gt; or &lt;code&gt;nslookup&lt;/code&gt; helped until I dug into &lt;strong&gt;systemd‑resolved&lt;/strong&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-systemdresolved-holds-on-to-old-dns&#34;&gt;Why systemd‑resolved Holds on to Old DNS&lt;/h2&gt;&#xA;&lt;p&gt;systemd‑resolved is the default resolver on most recent distros. It keeps a cache of answers to cut down on DNS traffic and speed things up. The cache is keyed by the DNS server that answered and the TTL that server advertised. When a router’s firmware changes, its DHCP server may hand out a new DNS IP or a new list of servers. systemd‑resolved will keep the old server in memory until it gets a fresh lease or the cache expires. If the new server is unreachable, all lookups die.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I Use Find and Xargs to Delete Temp Files Older Than 7 Days Without Risking rm ‑rf</title>
      <link>https://mrtomlinux.org/post/2026-10-05-how-i-use-find-and-xargs-to-delete-temp-files/</link>
      <pubDate>Mon, 05 Oct 2026 08:08:05 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-10-05-how-i-use-find-and-xargs-to-delete-temp-files/</guid>
      <description>&lt;p&gt;Cleaning up old temp files is a daily chore that can quickly become dangerous if you use the wrong tool.&lt;br&gt;&#xA;A single misplaced &lt;code&gt;rm -rf&lt;/code&gt; can wipe out a whole directory tree, and that risk grows when you’re running scripts as root.&lt;br&gt;&#xA;The combination of &lt;code&gt;find&lt;/code&gt; and &lt;code&gt;xargs&lt;/code&gt; (or &lt;code&gt;-delete&lt;/code&gt;) gives you a precise, race‑condition‑aware way to target only the files you really want gone.&lt;/p&gt;&#xA;&lt;h2 id=&#34;why-find--xargs-beats-a-blind-rm--rf&#34;&gt;Why &lt;code&gt;find&lt;/code&gt; + &lt;code&gt;xargs&lt;/code&gt; beats a blind &lt;code&gt;rm -rf&lt;/code&gt;&lt;/h2&gt;&#xA;&lt;ul&gt;&#xA;&lt;li&gt;&lt;strong&gt;Scope control&lt;/strong&gt; – &lt;code&gt;find&lt;/code&gt; lets you restrict the search to a specific path, depth, file type, age, size, or owner.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Safety&lt;/strong&gt; – &lt;code&gt;-delete&lt;/code&gt; removes only the matched files; it never walks into a directory you didn’t ask for.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Speed&lt;/strong&gt; – &lt;code&gt;xargs&lt;/code&gt; batches deletions, reducing the number of &lt;code&gt;rm&lt;/code&gt; invocations.&lt;/li&gt;&#xA;&lt;li&gt;&lt;strong&gt;Robustness&lt;/strong&gt; – &lt;code&gt;-print0&lt;/code&gt; + &lt;code&gt;xargs -0&lt;/code&gt; handles filenames with spaces, newlines, or other odd characters.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;h2 id=&#34;a-minimal-productionready-command&#34;&gt;A minimal, production‑ready command&lt;/h2&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-bash&#34; data-lang=&#34;bash&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# Delete regular files in /tmp older than 7 days&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;find /tmp -type f -mtime +7 -print0 &lt;span class=&#34;p&#34;&gt;|&lt;/span&gt; xargs -0 rm -v&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;ul&gt;&#xA;&lt;li&gt;&lt;code&gt;-type f&lt;/code&gt; skips directories and symlinks.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-mtime +7&lt;/code&gt; matches files whose modification time is more than seven days ago.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-print0&lt;/code&gt; outputs a null‑terminated list; &lt;code&gt;xargs -0&lt;/code&gt; consumes it safely.&lt;/li&gt;&#xA;&lt;li&gt;&lt;code&gt;-v&lt;/code&gt; gives you a quick audit trail.&lt;/li&gt;&#xA;&lt;/ul&gt;&#xA;&lt;p&gt;If you prefer a single‑step solution and your &lt;code&gt;find&lt;/code&gt; supports it, replace the pipe with &lt;code&gt;-delete&lt;/code&gt;:&lt;/p&gt;</description>
    </item>
    <item>
      <title>How a Forgotten SSH Key Stopped My Nightly Off‑Site Borg Backup and the Quick Fix I Implemented</title>
      <link>https://mrtomlinux.org/post/2026-10-01-how-a-forgotten-ssh-key-stopped-my-nightly-of/</link>
      <pubDate>Thu, 01 Oct 2026 08:23:50 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-10-01-how-a-forgotten-ssh-key-stopped-my-nightly-of/</guid>
      <description>&lt;h2 id=&#34;the-night-i-lost-an-offsite-borg-backup&#34;&gt;The night I lost an off‑site Borg backup&lt;/h2&gt;&#xA;&lt;p&gt;I run a 24/7 home‑lab server that backs up my home directories to a remote NAS with Borg. The backup is triggered by a systemd timer that fires every night at 02:00 UTC. For months it worked flawlessly, but one morning the timer ran, the job logged “ssh: connect to host …: Permission denied”, and the backup vanished into the night. The culprit? A forgotten SSH key.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Running a nightly backup script after logout with systemd user units – no nohup needed</title>
      <link>https://mrtomlinux.org/post/2026-09-17-running-a-nightly-backup-script-after-logout-/</link>
      <pubDate>Thu, 17 Sep 2026 11:25:53 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-09-17-running-a-nightly-backup-script-after-logout-/</guid>
      <description>&lt;h1 id=&#34;running-a-nightly-backup-script-after-logout-with-systemd-user-units--nonohup-needed&#34;&gt;Running a nightly backup script after logout with systemd user units – no nohup needed&lt;/h1&gt;&#xA;&lt;p&gt;I set up a little home‑lab server last year and wanted a way to snap my home directory every night without tying the job to a terminal. The old &lt;code&gt;nohup&lt;/code&gt; trick works, but it leaves orphaned processes and you end up chasing logs in the dark. Systemd user units give a cleaner, more reliable solution that plays nicely with the rest of the system.&lt;/p&gt;</description>
    </item>
    <item>
      <title>When pulseaudio turns your laptop into a CPU hamster: how to reduce its load with a simple configuration tweak</title>
      <link>https://mrtomlinux.org/post/2026-09-15-when-pulseaudio-turns-your-laptop-into-a-cpu-/</link>
      <pubDate>Tue, 15 Sep 2026 09:44:48 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-09-15-when-pulseaudio-turns-your-laptop-into-a-cpu-/</guid>
      <description>&lt;h2 id=&#34;pulseaudio-cpu-hogging&#34;&gt;PulseAudio CPU Hogging&lt;/h2&gt;&#xA;&lt;p&gt;If your laptop’s fan has been doing the back‑and‑forth dance or the CPU clock keeps climbing while you’re just listening to a playlist or watching a video, you’ve probably run into PulseAudio’s infamous CPU bloat. The daemon is built for flexibility, not for squeezing every watt out of a laptop, and its out‑of‑the‑box settings can turn a modest machine into a little CPU hamster.&lt;/p&gt;&#xA;&lt;h3 id=&#34;why-pulseaudio-can-be-a-cpu-hamster&#34;&gt;Why PulseAudio Can Be a CPU Hamster&lt;/h3&gt;&#xA;&lt;p&gt;The resampling engine runs in user space and gets hit for every stream that needs a sample‑rate or format change. By default it uses &lt;code&gt;soxr&lt;/code&gt;, a high‑quality but heavy algorithm. Combine that with the default 48 kHz sample rate and 32‑bit float format, and you’re looking at a few percent of a core even when the system is otherwise idle. On older hardware or when the battery is low, that overhead shows up as a fan spin or a temperature spike.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming the systemd Boot Process: My Journey to Fixing Slow Boot Times on My Linux Laptop</title>
      <link>https://mrtomlinux.org/post/2026-08-16-taming-the-systemd-boot-process-my-journey-to/</link>
      <pubDate>Sun, 16 Aug 2026 10:28:46 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-08-16-taming-the-systemd-boot-process-my-journey-to/</guid>
      <description>&lt;h2 id=&#34;introduction-to-slow-boot-times&#34;&gt;Introduction to Slow Boot Times&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been running Linux on my laptop for years, and slow boot times have become a major frustration. As someone who values productivity, waiting for my system to boot up can be a real pain. So, in 2025, I decided to dive into the world of systemd and see if I could optimize my boot process.&lt;/p&gt;&#xA;&lt;h2 id=&#34;understanding-systemd&#34;&gt;Understanding systemd&lt;/h2&gt;&#xA;&lt;p&gt;Before you start tweaking, it&amp;rsquo;s crucial to understand how systemd works. systemd is a system and service manager that&amp;rsquo;s responsible for booting and managing your Linux system. It&amp;rsquo;s complex, but there are some great tools available to help you understand and optimize it. One of the most useful tools is &lt;code&gt;systemd-analyze&lt;/code&gt;, which provides detailed information about the boot process.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Slow DNS Lookups with systemd-resolved on My Linux Homelab Server</title>
      <link>https://mrtomlinux.org/post/2026-08-15-troubleshooting-slow-dns-lookups-with-systemd/</link>
      <pubDate>Sat, 15 Aug 2026 08:23:42 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-08-15-troubleshooting-slow-dns-lookups-with-systemd/</guid>
      <description>&lt;h2 id=&#34;introduction-to-troubleshooting-slow-dns-lookups&#34;&gt;Introduction to Troubleshooting Slow DNS Lookups&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been running a Linux homelab server for a while now, and one issue that&amp;rsquo;s caught my attention recently is slow DNS lookups. With the increasing reliance on online services, fast and reliable DNS resolution is crucial. I noticed my server was taking longer than usual to resolve domain names, affecting my homelab&amp;rsquo;s overall performance. After digging in, I found the issue was related to &lt;code&gt;systemd-resolved&lt;/code&gt;, the DNS resolver service that comes bundled with systemd. I&amp;rsquo;ve seen this go wrong when the default resolvers aren&amp;rsquo;t responding quickly.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming the Journalctl Noise: How I Stopped Wasting Time on Useless systemd Logs</title>
      <link>https://mrtomlinux.org/post/2026-08-14-taming-the-journalctl-noise-how-i-stopped-was/</link>
      <pubDate>Fri, 14 Aug 2026 08:34:18 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-08-14-taming-the-journalctl-noise-how-i-stopped-was/</guid>
      <description>&lt;h2 id=&#34;introduction-to-journalctl-noise&#34;&gt;Introduction to Journalctl Noise&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve spent years relying on &lt;code&gt;journalctl&lt;/code&gt; for system logging and debugging, but I&amp;rsquo;ve found myself wasting too much time sifting through useless logs. The noise was becoming a significant problem, making it tough to identify real issues. I&amp;rsquo;ve seen this go wrong when trying to troubleshoot a critical issue, only to get bogged down in irrelevant logs.&lt;/p&gt;&#xA;&lt;h2 id=&#34;understanding-journalctl&#34;&gt;Understanding Journalctl&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;journalctl&lt;/code&gt; is a powerful tool provided by systemd, and it&amp;rsquo;s essential to understand how it works. The real trick is to learn how to use its features effectively. The &lt;a href=&#34;https://systemd.io/&#34;&gt;systemd.io&lt;/a&gt; website has extensive documentation on &lt;code&gt;journalctl&lt;/code&gt;, which is definitely worth checking out. Don&amp;rsquo;t bother with trying to memorize every option, though - just get familiar with the basics and build from there.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming the Noise in journalctl with Systemd Journal Filters and Priorities</title>
      <link>https://mrtomlinux.org/post/2026-08-08-taming-the-noise-in-journalctl-with-systemd-j/</link>
      <pubDate>Sat, 08 Aug 2026 11:03:18 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-08-08-taming-the-noise-in-journalctl-with-systemd-j/</guid>
      <description>&lt;h2 id=&#34;introduction-to-journalctl-filtering&#34;&gt;Introduction to Journalctl Filtering&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve seen this go wrong when you&amp;rsquo;re trying to troubleshoot an issue and &lt;code&gt;journalctl&lt;/code&gt; spits out a wall of text. By default, it displays all available log messages, which can be overwhelming, especially on systems with many services running. The output includes the timestamp, hostname, syslog identifier, and the actual log message. To make sense of this output, you can use various options and filters provided by &lt;code&gt;journalctl&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming systemd-resolved: My Journey to Reliable DNS Resolution at Home</title>
      <link>https://mrtomlinux.org/post/2026-08-07-taming-systemd-resolved-my-journey-to-reliabl/</link>
      <pubDate>Fri, 07 Aug 2026 10:17:24 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-08-07-taming-systemd-resolved-my-journey-to-reliabl/</guid>
      <description>&lt;h2 id=&#34;introduction-to-systemd-resolved&#34;&gt;Introduction to systemd-resolved&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve always been curious about how my Linux system resolves domain names. Recently, I&amp;rsquo;ve been dealing with some DNS resolution issues at home, which led me to dig into &lt;code&gt;systemd-resolved&lt;/code&gt;. As it turns out, many Linux distributions, including Ubuntu and Fedora, use &lt;code&gt;systemd-resolved&lt;/code&gt; as their DNS resolver by default. In this article, I&amp;rsquo;ll share my experience with getting reliable DNS resolution at home using &lt;code&gt;systemd-resolved&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;understanding-systemd-resolved&#34;&gt;Understanding systemd-resolved&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;systemd-resolved&lt;/code&gt; is part of the systemd suite and provides a DNS resolver service. It&amp;rsquo;s designed to be a caching, validating, and recursive DNS resolver - which means it can cache DNS responses, validate DNSSEC records, and perform recursive DNS lookups. To check if &lt;code&gt;systemd-resolved&lt;/code&gt; is running on your system, you can use the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Log Noise with journalctl and Logrotate in a Small Home Server Setup</title>
      <link>https://mrtomlinux.org/post/2026-08-04-taming-log-noise-with-journalctl-and-logrotat/</link>
      <pubDate>Tue, 04 Aug 2026 10:30:59 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-08-04-taming-log-noise-with-journalctl-and-logrotat/</guid>
      <description>&lt;h2 id=&#34;introduction-to-log-noise&#34;&gt;Introduction to Log Noise&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve learned the hard way that managing log files is crucial to keeping my small home server running smoothly. Log noise, in particular, can be a real pain - it&amp;rsquo;s like trying to find a needle in a haystack. In this article, I&amp;rsquo;ll share how I use &lt;code&gt;journalctl&lt;/code&gt; and &lt;code&gt;logrotate&lt;/code&gt; to tame log noise and keep my system healthy.&lt;/p&gt;&#xA;&lt;h2 id=&#34;understanding-log-noise&#34;&gt;Understanding Log Noise&lt;/h2&gt;&#xA;&lt;p&gt;Log noise refers to the overwhelming amount of log data generated by various system components. This noise makes it tough to spot critical errors or security issues. In a small home server setup, log noise can lead to disk space issues, slow down performance, and make troubleshooting a nightmare. I&amp;rsquo;ve seen this go wrong when I neglected to monitor my log files, and it wasn&amp;rsquo;t pretty.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Log Noise with journalctl: Filtering Out the Chaff to Find Real Issues</title>
      <link>https://mrtomlinux.org/post/2026-08-02-taming-log-noise-with-journalctl-filtering-ou/</link>
      <pubDate>Sun, 02 Aug 2026 08:59:08 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-08-02-taming-log-noise-with-journalctl-filtering-ou/</guid>
      <description>&lt;h2 id=&#34;introduction-to-log-noise&#34;&gt;Introduction to Log Noise&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve seen this go wrong when you&amp;rsquo;re drowning in a sea of log data - it&amp;rsquo;s overwhelming, to say the least. With systemd&amp;rsquo;s journaling capabilities, logging has become more efficient and centralized, but that also means you&amp;rsquo;re dealing with a massive volume of log data. This is where people usually get burned, as it&amp;rsquo;s tough to identify real issues. That&amp;rsquo;s where &lt;code&gt;journalctl&lt;/code&gt; comes in - a powerful command-line utility for querying and managing systemd journals.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Recovering from a Failed systemd Update on a Small Home Server</title>
      <link>https://mrtomlinux.org/post/2026-07-31-recovering-from-a-failed-systemd-update-on-a-/</link>
      <pubDate>Fri, 31 Jul 2026 12:04:25 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-31-recovering-from-a-failed-systemd-update-on-a-/</guid>
      <description>&lt;h2 id=&#34;introduction-to-systemd-recovery&#34;&gt;Introduction to systemd Recovery&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve seen this go wrong when a &lt;code&gt;systemd&lt;/code&gt; update fails - it&amp;rsquo;s a pretty stressful experience, especially when &lt;code&gt;systemd&lt;/code&gt; is the core init system for your Linux distribution. Recently, I had a similar issue on my small home server. The update process seemed fine at first, but after a reboot, I was greeted with an error message indicating that &lt;code&gt;systemd&lt;/code&gt; had failed to start.&lt;/p&gt;&#xA;&lt;h2 id=&#34;identifying-the-problem&#34;&gt;Identifying the Problem&lt;/h2&gt;&#xA;&lt;p&gt;The real trick is to stay calm and use the right tools to diagnose the issue. I booted into rescue mode using a live USB stick, which gave me access to the filesystem. From there, I inspected the &lt;code&gt;systemd&lt;/code&gt; logs using the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Background Tasks with nohup, disown, and systemd&#39;s linger Option</title>
      <link>https://mrtomlinux.org/post/2026-07-29-taming-background-tasks-with-nohup-disown-and/</link>
      <pubDate>Wed, 29 Jul 2026 11:24:41 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-29-taming-background-tasks-with-nohup-disown-and/</guid>
      <description>&lt;h2 id=&#34;introduction-to-background-tasks&#34;&gt;Introduction to Background Tasks&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been in situations where running a command or process in the background is a must - think long-running backups, downloads, or compilations. In those cases, being able to continue working on other tasks is a huge plus. Here, we&amp;rsquo;ll explore three ways to manage background tasks: &lt;code&gt;nohup&lt;/code&gt;, &lt;code&gt;disown&lt;/code&gt;, and systemd&amp;rsquo;s &lt;code&gt;linger&lt;/code&gt; option. Each has its own use cases, and I&amp;rsquo;ll share some practical tips on when to use each.&lt;/p&gt;</description>
    </item>
    <item>
      <title>When systemd-analyze blame Doesn&#39;t Help, How I Fixed My Slow Boot</title>
      <link>https://mrtomlinux.org/post/2026-07-24-when-systemd-analyze-blame-doesnt-help-how-i-/</link>
      <pubDate>Fri, 24 Jul 2026 11:51:24 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-24-when-systemd-analyze-blame-doesnt-help-how-i-/</guid>
      <description>&lt;h2 id=&#34;introduction-to-slow-boot-issues&#34;&gt;Introduction to Slow Boot Issues&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve had my fair share of slow boot issues on Linux systems. Recently, I spent a significant amount of time troubleshooting a stubborn problem on one of my homelab machines. The system would take an inordinate amount of time to boot, and I couldn&amp;rsquo;t seem to pinpoint the cause. My first instinct was to use &lt;code&gt;systemd-analyze blame&lt;/code&gt; to identify the culprit, but to my surprise, it didn&amp;rsquo;t provide any clear answers. I&amp;rsquo;ve seen this go wrong when the issue is more complex than a simple misconfigured service.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming the systemd-resolved Cache to Fix DNS Lookup Failures on My Home Network</title>
      <link>https://mrtomlinux.org/post/2026-07-23-taming-the-systemd-resolved-cache-to-fix-dns-/</link>
      <pubDate>Thu, 23 Jul 2026 09:17:11 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-23-taming-the-systemd-resolved-cache-to-fix-dns-/</guid>
      <description>&lt;h2 id=&#34;introduction-to-systemd-resolved&#34;&gt;Introduction to systemd-resolved&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been dealing with DNS lookup failures on my home network, and I&amp;rsquo;ve found that the &lt;code&gt;systemd-resolved&lt;/code&gt; cache can be a major culprit. I&amp;rsquo;ve seen this go wrong when the cache becomes outdated or corrupted, leading to frustrating DNS lookup failures. In this article, I&amp;rsquo;ll share my experience with taming the &lt;code&gt;systemd-resolved&lt;/code&gt; cache to fix these issues.&lt;/p&gt;&#xA;&lt;h2 id=&#34;understanding-the-systemd-resolved-cache&#34;&gt;Understanding the systemd-resolved Cache&lt;/h2&gt;&#xA;&lt;p&gt;The real trick is to understand how the &lt;code&gt;systemd-resolved&lt;/code&gt; cache works. It&amp;rsquo;s designed to improve DNS lookup performance by storing recent queries and their results. However, this cache can become outdated or corrupted, leading to DNS lookup failures. To get a better understanding of the cache, let&amp;rsquo;s take a look at the &lt;code&gt;systemd-resolved&lt;/code&gt; configuration file, usually located at &lt;code&gt;/etc/systemd/resolved.conf&lt;/code&gt;. You can view the file using the following command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Background Tasks with nohup and systemd: My Homelab Workflow</title>
      <link>https://mrtomlinux.org/post/2026-07-20-taming-background-tasks-with-nohup-and-system/</link>
      <pubDate>Mon, 20 Jul 2026 11:25:50 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-20-taming-background-tasks-with-nohup-and-system/</guid>
      <description>&lt;h2 id=&#34;introduction-to-background-tasks&#34;&gt;Introduction to Background Tasks&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been running Linux servers in my homelab for years, and one thing that&amp;rsquo;s always come up is the need to run background tasks. These can be anything from simple scripts to complex applications, and they need to keep running even when I log out. I used to rely on tools like &lt;code&gt;screen&lt;/code&gt; and &lt;code&gt;tmux&lt;/code&gt;, but lately, I&amp;rsquo;ve been using &lt;code&gt;nohup&lt;/code&gt; and &lt;code&gt;systemd&lt;/code&gt; to simplify things.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Rogue Background Jobs with nohup and systemd</title>
      <link>https://mrtomlinux.org/post/2026-07-19-taming-rogue-background-jobs-with-nohup-and-s/</link>
      <pubDate>Sun, 19 Jul 2026 10:01:17 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-19-taming-rogue-background-jobs-with-nohup-and-s/</guid>
      <description>&lt;h2 id=&#34;introduction-to-background-jobs&#34;&gt;Introduction to Background Jobs&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve lost count of how many times I&amp;rsquo;ve needed to run a command or script in the background, freeing up my terminal for other tasks. This is especially useful for long-running jobs like backups, downloads, or compilations. However, managing these background jobs can get messy, particularly when dealing with multiple processes or disconnections from the terminal. That&amp;rsquo;s where &lt;code&gt;nohup&lt;/code&gt; and &lt;code&gt;systemd&lt;/code&gt; come in - two essential tools for keeping your background jobs in check.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming systemd-resolved: How I Stopped It From Overriding My resolv.conf Settings</title>
      <link>https://mrtomlinux.org/post/2026-07-18-taming-systemd-resolved-how-i-stopped-it-from/</link>
      <pubDate>Sat, 18 Jul 2026 11:18:00 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-18-taming-systemd-resolved-how-i-stopped-it-from/</guid>
      <description>&lt;h2 id=&#34;introduction-to-systemd-resolved&#34;&gt;Introduction to systemd-resolved&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve seen this go wrong when working with Linux systems - &lt;code&gt;systemd-resolved&lt;/code&gt; taking over your DNS settings without warning. As a Linux user, you&amp;rsquo;re likely familiar with the &lt;code&gt;resolv.conf&lt;/code&gt; file, which contains the DNS resolver configuration for your system. However, with the introduction of &lt;code&gt;systemd-resolved&lt;/code&gt;, things have changed. &lt;code&gt;systemd-resolved&lt;/code&gt; is a systemd service that provides DNS resolution and caching, and it can sometimes override the settings in your &lt;code&gt;resolv.conf&lt;/code&gt; file. In this article, we&amp;rsquo;ll explore how to tame &lt;code&gt;systemd-resolved&lt;/code&gt; and prevent it from overriding your &lt;code&gt;resolv.conf&lt;/code&gt; settings.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming systemd-resolved: My Journey to Fixing DNS Leaks and Annoying resolver Errors on My Linux Desktop</title>
      <link>https://mrtomlinux.org/post/2026-07-17-taming-systemd-resolved-my-journey-to-fixing-/</link>
      <pubDate>Fri, 17 Jul 2026 10:38:33 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-17-taming-systemd-resolved-my-journey-to-fixing-/</guid>
      <description>&lt;h2 id=&#34;introduction-to-systemd-resolved&#34;&gt;Introduction to systemd-resolved&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve spent years working with Linux, and one component that&amp;rsquo;s given me trouble is &lt;code&gt;systemd-resolved&lt;/code&gt;, the DNS resolver service that comes bundled with systemd. Recently, I noticed my DNS queries were leaking, and I was getting annoying resolver errors on my Linux desktop. This prompted me to dive deeper into &lt;code&gt;systemd-resolved&lt;/code&gt; and figure out how to tame it. I&amp;rsquo;ve seen this go wrong when people don&amp;rsquo;t take the time to understand how it works, so let&amp;rsquo;s start with the basics.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming the Noise in journalctl with Custom Filters and Priorities</title>
      <link>https://mrtomlinux.org/post/2026-07-16-taming-the-noise-in-journalctl-with-custom-fi/</link>
      <pubDate>Thu, 16 Jul 2026 09:22:02 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-16-taming-the-noise-in-journalctl-with-custom-fi/</guid>
      <description>&lt;h2 id=&#34;introduction-to-journalctl-filtering&#34;&gt;Introduction to journalctl Filtering&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been using &lt;code&gt;journalctl&lt;/code&gt; for years, and I&amp;rsquo;ve learned that it can be overwhelming if you don&amp;rsquo;t know how to filter the noise. By default, &lt;code&gt;journalctl&lt;/code&gt; displays a vast amount of information that may not be relevant to your current needs. In this article, I&amp;rsquo;ll share how I tame the noise in &lt;code&gt;journalctl&lt;/code&gt; using custom filters and priorities.&lt;/p&gt;&#xA;&lt;h2 id=&#34;understanding-journalctl-basics&#34;&gt;Understanding journalctl Basics&lt;/h2&gt;&#xA;&lt;p&gt;Before we dive into filtering, let&amp;rsquo;s cover some &lt;code&gt;journalctl&lt;/code&gt; basics. The command &lt;code&gt;journalctl&lt;/code&gt; is used to query the systemd journal, which stores log messages from various system components, including systemd services, kernel messages, and other system logs. I usually start with a simple command to view the most recent journal logs:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Systemd Services that Cause Slow Boot Times on My Linux Desktop</title>
      <link>https://mrtomlinux.org/post/2026-07-13-taming-systemd-services-that-cause-slow-boot-/</link>
      <pubDate>Mon, 13 Jul 2026 11:03:45 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-13-taming-systemd-services-that-cause-slow-boot-/</guid>
      <description>&lt;h2 id=&#34;introduction-to-slow-boot-times&#34;&gt;Introduction to Slow Boot Times&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve had my fair share of slow boot times on Linux. When I upgraded my desktop to the latest version of my distribution in 2025, I noticed some new systemd services that were slowing down my boot process. The real trick is identifying which services are causing the issue. After digging around, I found that some of these services weren&amp;rsquo;t essential for my daily usage, and disabling them made a significant difference.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Container Logs with Podman and systemd-journald</title>
      <link>https://mrtomlinux.org/post/2026-07-11-taming-container-logs-with-podman-and-systemd/</link>
      <pubDate>Sat, 11 Jul 2026 08:25:55 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-11-taming-container-logs-with-podman-and-systemd/</guid>
      <description>&lt;h2 id=&#34;introduction-to-container-logs&#34;&gt;Introduction to Container Logs&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been running a homelab with various self-hosted services for a while now, and managing container logs has been a challenge. With containerization making it easy to spin up multiple containers, keeping track of their logs can be overwhelming. In my experience, using Podman and systemd-journald has been a game-changer for taming container logs.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-are-container-logs&#34;&gt;What are Container Logs?&lt;/h2&gt;&#xA;&lt;p&gt;Container logs are essentially the output of a container&amp;rsquo;s stdout and stderr streams. They contain valuable information about the container&amp;rsquo;s execution, such as errors, warnings, and debug messages. By default, container logs are stored in the container&amp;rsquo;s filesystem, which can lead to log rotation issues and make it difficult to manage logs across multiple containers. I&amp;rsquo;ve seen this go wrong when logs start filling up the container&amp;rsquo;s disk space, causing all sorts of issues.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resolving DNS Troubles at Home: A systemd-resolved and dnsmasq Setup Gone Wrong</title>
      <link>https://mrtomlinux.org/post/2026-07-07-resolving-dns-troubles-at-home-a-systemd-reso/</link>
      <pubDate>Tue, 07 Jul 2026 09:00:33 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-07-resolving-dns-troubles-at-home-a-systemd-reso/</guid>
      <description>&lt;h2 id=&#34;introduction-to-dns-troubles&#34;&gt;Introduction to DNS Troubles&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been running my homelab for years, and one thing that still gets me is DNS troubles. Last year, I decided to set up &lt;code&gt;systemd-resolved&lt;/code&gt; and &lt;code&gt;dnsmasq&lt;/code&gt; to manage my home network&amp;rsquo;s DNS. The idea was to use &lt;code&gt;systemd-resolved&lt;/code&gt; as the primary resolver and &lt;code&gt;dnsmasq&lt;/code&gt; as a caching layer to improve performance. Sounds simple, but it didn&amp;rsquo;t quite work out that way.&lt;/p&gt;&#xA;&lt;h2 id=&#34;setting-up-systemd-resolved&#34;&gt;Setting Up systemd-resolved&lt;/h2&gt;&#xA;&lt;p&gt;To start, I enabled &lt;code&gt;systemd-resolved&lt;/code&gt; on my Ubuntu-based server. This involved editing the &lt;code&gt;/etc/systemd/resolved.conf&lt;/code&gt; file to set the DNS servers and domains. I opted for Cloudflare&amp;rsquo;s DNS servers - they&amp;rsquo;re known for being fast and secure.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Slow System Boot Times with systemd-analyze and ps eoq</title>
      <link>https://mrtomlinux.org/post/2026-07-06-troubleshooting-slow-system-boot-times-with-s/</link>
      <pubDate>Mon, 06 Jul 2026 10:44:22 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-06-troubleshooting-slow-system-boot-times-with-s/</guid>
      <description>&lt;h2 id=&#34;introduction-to-slow-system-boot-times&#34;&gt;Introduction to Slow System Boot Times&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve seen this go wrong when a slow system boot time brings your entire workflow to a crawl. Whether you&amp;rsquo;re running a homelab server or a desktop Linux installation, a slow boot can be frustrating. In this article, we&amp;rsquo;ll explore how to troubleshoot slow system boot times using &lt;code&gt;systemd-analyze&lt;/code&gt; and other practical tools.&lt;/p&gt;&#xA;&lt;h2 id=&#34;understanding-systemd-analyze&#34;&gt;Understanding systemd-analyze&lt;/h2&gt;&#xA;&lt;p&gt;The real trick is to use &lt;code&gt;systemd-analyze&lt;/code&gt; to get a detailed breakdown of the boot process. This powerful tool provides insights into the time spent on each service and the overall boot time. To use &lt;code&gt;systemd-analyze&lt;/code&gt;, simply run:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Systemd Boot Times with systemd-analyze and a Little Patience</title>
      <link>https://mrtomlinux.org/post/2026-07-05-taming-systemd-boot-times-with-systemd-analyz/</link>
      <pubDate>Sun, 05 Jul 2026 10:08:40 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-05-taming-systemd-boot-times-with-systemd-analyz/</guid>
      <description>&lt;h2 id=&#34;introduction-to-systemd-boot-times&#34;&gt;Introduction to Systemd Boot Times&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve seen my fair share of slow-booting Linux systems over the years, and it&amp;rsquo;s frustrating when you&amp;rsquo;re waiting for your system to start up. With modern hardware and Linux distributions, boot times should be relatively fast, but misconfigured services, unnecessary dependencies, and inefficient system initialization can still cause issues. That&amp;rsquo;s where &lt;code&gt;systemd-analyze&lt;/code&gt; comes in - it&amp;rsquo;s an invaluable tool for identifying bottlenecks and optimizing your system&amp;rsquo;s performance.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Resolving Disk Full Alerts on My Home Server by Implementing Quotas and Cleaning Up systemd Journal Logs</title>
      <link>https://mrtomlinux.org/post/2026-07-04-resolving-disk-full-alerts-on-my-home-server-/</link>
      <pubDate>Sat, 04 Jul 2026 10:28:31 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-04-resolving-disk-full-alerts-on-my-home-server-/</guid>
      <description>&lt;h2 id=&#34;introduction-to-disk-full-alerts&#34;&gt;Introduction to Disk Full Alerts&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve lost count of how many times I&amp;rsquo;ve received disk full alerts on my home server. It&amp;rsquo;s frustrating, especially when it happens at the worst possible moment. Last year, I had a particularly annoying issue that prompted me to take a closer look at my disk usage. I realized I needed to make some changes to prevent these issues in the future. In this article, I&amp;rsquo;ll walk you through the steps I took to resolve disk full alerts on my server by implementing quotas and cleaning up systemd journal logs.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming journalctl: Tips for Filtering Out Noise and Finding Useful Error Messages in Your System Logs</title>
      <link>https://mrtomlinux.org/post/2026-07-01-taming-journalctl-tips-for-filtering-out-nois/</link>
      <pubDate>Wed, 01 Jul 2026 09:40:00 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-07-01-taming-journalctl-tips-for-filtering-out-nois/</guid>
      <description>&lt;h2 id=&#34;introduction-to-journalctl&#34;&gt;Introduction to journalctl&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been using Linux for years, and &lt;code&gt;journalctl&lt;/code&gt; has become an essential tool in my daily workflow. If you&amp;rsquo;re like me, you&amp;rsquo;re probably familiar with the &lt;code&gt;journalctl&lt;/code&gt; command, which is used to query and display logs from systemd&amp;rsquo;s journal. However, with the vast amount of data that&amp;rsquo;s logged, it can be overwhelming to sift through and find the information you need. In this article, I&amp;rsquo;ll share some practical tips and tricks for filtering out noise and finding useful error messages in your system logs using &lt;code&gt;journalctl&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Slow Log Rotation in Small Linux Servers with High IO Workloads</title>
      <link>https://mrtomlinux.org/post/2026-06-29-troubleshooting-slow-log-rotation-in-small-li/</link>
      <pubDate>Mon, 29 Jun 2026 09:11:35 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-06-29-troubleshooting-slow-log-rotation-in-small-li/</guid>
      <description>&lt;h2 id=&#34;introduction-to-log-rotation&#34;&gt;Introduction to Log Rotation&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve seen log rotation become a major issue on small servers with high IO workloads - it&amp;rsquo;s a problem that can sneak up on you quickly. Logs can grow at an alarming rate, and if you don&amp;rsquo;t manage them properly, they can fill up your disk space in no time. The real trick is to stay on top of log rotation, and that&amp;rsquo;s where tools like &lt;code&gt;logrotate&lt;/code&gt; come in.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Background Tasks with Nohup and Systemd: A Homelab Lesson Learned</title>
      <link>https://mrtomlinux.org/post/2026-06-22-taming-background-tasks-with-nohup-and-system/</link>
      <pubDate>Mon, 22 Jun 2026 09:09:19 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-06-22-taming-background-tasks-with-nohup-and-system/</guid>
      <description>&lt;h2 id=&#34;introduction-to-background-tasks&#34;&gt;Introduction to Background Tasks&lt;/h2&gt;&#xA;&lt;p&gt;As someone who&amp;rsquo;s spent years running a homelab, I&amp;rsquo;ve found that managing background tasks is crucial. These tasks need to keep running even after I&amp;rsquo;ve logged out of my system, and they&amp;rsquo;re essential for things like backups, system monitoring, and maintenance scripts. I used to rely on &lt;code&gt;screen&lt;/code&gt; and &lt;code&gt;tmux&lt;/code&gt; to keep these tasks running, but I&amp;rsquo;ve recently switched to using &lt;code&gt;nohup&lt;/code&gt; and &lt;code&gt;systemd&lt;/code&gt;. In this article, I&amp;rsquo;ll share my experience with these tools and provide some practical examples.&lt;/p&gt;</description>
    </item>
    <item>
      <title>When Linux Boots Slowly - Uncovering the Causes Behind My Desktop&#39;s 5-Minute Startup Time</title>
      <link>https://mrtomlinux.org/post/2026-06-21-when-linux-boots-slowly-uncovering-the-causes/</link>
      <pubDate>Sun, 21 Jun 2026 10:11:42 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-06-21-when-linux-boots-slowly-uncovering-the-causes/</guid>
      <description>&lt;h2 id=&#34;troubleshooting-slow-boot-times-on-linux&#34;&gt;Troubleshooting Slow Boot Times on Linux&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been noticing that my desktop Linux system has been taking a painfully long time to boot - we&amp;rsquo;re talking around 5 minutes, which is way longer than I&amp;rsquo;m used to. As someone who values a fast and responsive system, I decided to dig in and see what was causing the slowdown. In this article, I&amp;rsquo;ll walk you through the steps I took to identify and fix the issue, and share some practical tips for optimizing your own Linux system&amp;rsquo;s boot time.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming log Noise with journalctl and logrotate in a Small Home Server Setup</title>
      <link>https://mrtomlinux.org/post/2026-06-19-taming-log-noise-with-journalctl-and-logrotat/</link>
      <pubDate>Fri, 19 Jun 2026 10:04:19 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-06-19-taming-log-noise-with-journalctl-and-logrotat/</guid>
      <description>&lt;h2 id=&#34;taming-log-noise-on-linux&#34;&gt;Taming Log Noise on Linux&lt;/h2&gt;&#xA;&lt;p&gt;As someone who&amp;rsquo;s spent years running Linux systems, I can tell you that log management is crucial. Logs provide valuable insights into system activity, helping you troubleshoot issues and identify potential security threats. However, log noise can quickly become overwhelming, making it difficult to find relevant information. In my experience, &lt;code&gt;journalctl&lt;/code&gt; and &lt;code&gt;logrotate&lt;/code&gt; are two essential tools for managing logs on a small home server setup.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting systemd Service Startup Delays with systemd-analyze</title>
      <link>https://mrtomlinux.org/post/2026-06-18-troubleshooting-systemd-service-startup-delay/</link>
      <pubDate>Thu, 18 Jun 2026 10:50:03 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-06-18-troubleshooting-systemd-service-startup-delay/</guid>
      <description>&lt;h2 id=&#34;introduction-to-systemd-service-startup-delays&#34;&gt;Introduction to systemd Service Startup Delays&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve seen this go wrong when my system takes an eternity to boot up or start services. Usually, the culprit is a systemd service issue. systemd, being a core component of most modern Linux distributions, manages system services, boot processes, and more. When troubleshooting these delays, &lt;code&gt;systemd-analyze&lt;/code&gt; is my go-to tool.&lt;/p&gt;&#xA;&lt;h2 id=&#34;understanding-systemd-analyze&#34;&gt;Understanding systemd-analyze&lt;/h2&gt;&#xA;&lt;p&gt;The real trick is to use &lt;code&gt;systemd-analyze&lt;/code&gt; to get insights into the boot process and service startup times. Don&amp;rsquo;t bother with complicated commands - just use the &lt;code&gt;plot&lt;/code&gt; option to generate a graphical representation of your system&amp;rsquo;s boot process:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Background Tasks with Nohup and Systemd: My Homelab Lessons Learned</title>
      <link>https://mrtomlinux.org/post/2026-06-13-taming-background-tasks-with-nohup-and-system/</link>
      <pubDate>Sat, 13 Jun 2026 11:48:27 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-06-13-taming-background-tasks-with-nohup-and-system/</guid>
      <description>&lt;h2 id=&#34;introduction-to-background-tasks&#34;&gt;Introduction to Background Tasks&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been running a homelab for years, and one thing I&amp;rsquo;ve learned is the importance of managing background tasks on my Linux servers. Whether it&amp;rsquo;s a script that runs daily backups or a service that monitors system resources, these tasks are crucial to keeping my systems running smoothly. I&amp;rsquo;ve tried various tools to manage these tasks, but I didn&amp;rsquo;t feel like I had a good handle on things until I started using &lt;code&gt;nohup&lt;/code&gt; and &lt;code&gt;systemd&lt;/code&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming the Chaos of Removable Device Mounting in Desktop Linux</title>
      <link>https://mrtomlinux.org/post/2026-06-12-taming-the-chaos-of-removable-device-mounting/</link>
      <pubDate>Fri, 12 Jun 2026 08:51:43 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-06-12-taming-the-chaos-of-removable-device-mounting/</guid>
      <description>&lt;h2 id=&#34;introduction-to-removable-device-mounting&#34;&gt;Introduction to Removable Device Mounting&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve seen this go wrong when dealing with multiple removable devices and various file systems - it can get chaotic. As a Linux user, you&amp;rsquo;re likely familiar with the convenience of removable devices like USB drives and SD cards. To manage these devices effectively, you need to understand how &lt;code&gt;udev&lt;/code&gt; and &lt;code&gt;systemd&lt;/code&gt; work together.&lt;/p&gt;&#xA;&lt;h2 id=&#34;understanding-udev-and-systemd&#34;&gt;Understanding udev and systemd&lt;/h2&gt;&#xA;&lt;p&gt;The real trick is to grasp the roles of &lt;code&gt;udev&lt;/code&gt; and &lt;code&gt;systemd&lt;/code&gt;. &lt;code&gt;udev&lt;/code&gt; handles device events, such as device insertion and removal, while &lt;code&gt;systemd&lt;/code&gt; manages system services and devices. When a removable device is inserted, &lt;code&gt;udev&lt;/code&gt; generates an event, which is then handled by &lt;code&gt;systemd&lt;/code&gt;. By default, &lt;code&gt;systemd&lt;/code&gt; mounts removable devices under the &lt;code&gt;/media&lt;/code&gt; directory. You can verify the current mount points using the &lt;code&gt;findmnt&lt;/code&gt; command:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting High IO Wait on My Home Server with systemd and top</title>
      <link>https://mrtomlinux.org/post/2026-06-11-troubleshooting-high-io-wait-on-my-home-serve/</link>
      <pubDate>Thu, 11 Jun 2026 09:23:45 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-06-11-troubleshooting-high-io-wait-on-my-home-serve/</guid>
      <description>&lt;h2 id=&#34;introduction-to-high-io-wait&#34;&gt;Introduction to High IO Wait&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been running my home server for a while now, and lately, I&amp;rsquo;ve noticed it&amp;rsquo;s been experiencing high IO wait times. This has resulted in slower performance and increased latency. I&amp;rsquo;ve seen this go wrong when disk usage, memory constraints, and system configuration aren&amp;rsquo;t properly balanced. In this article, I&amp;rsquo;ll walk you through the steps I took to troubleshoot and resolve the high IO wait issue on my home server using systemd and top.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming systemd-resolved: My Journey to Reliable DNS Resolution at Home</title>
      <link>https://mrtomlinux.org/post/2026-06-10-taming-systemd-resolved-my-journey-to-reliabl/</link>
      <pubDate>Wed, 10 Jun 2026 08:31:17 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-06-10-taming-systemd-resolved-my-journey-to-reliabl/</guid>
      <description>&lt;h2 id=&#34;introduction-to-systemd-resolved&#34;&gt;Introduction to systemd-resolved&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve been using Linux for years, and I&amp;rsquo;ve had my fair share of struggles with DNS resolution. Recently, I decided to take a closer look at &lt;code&gt;systemd-resolved&lt;/code&gt;, the DNS resolver component of systemd. I was looking for a reliable way to resolve DNS at home, and I&amp;rsquo;m happy to share what I&amp;rsquo;ve learned.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-systemd-resolved&#34;&gt;What is systemd-resolved?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;systemd-resolved&lt;/code&gt; is a system service that provides DNS resolution for Linux systems. It&amp;rsquo;s designed to replace traditional DNS resolvers like &lt;code&gt;bind&lt;/code&gt; and &lt;code&gt;dnsmasq&lt;/code&gt;. One of the key benefits of &lt;code&gt;systemd-resolved&lt;/code&gt; is its integration with the rest of the systemd ecosystem, making it easy to manage and configure. Don&amp;rsquo;t bother with &lt;code&gt;bind&lt;/code&gt; and &lt;code&gt;dnsmasq&lt;/code&gt; unless you have a specific reason to - &lt;code&gt;systemd-resolved&lt;/code&gt; is a solid choice for most users.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Background Tasks with nohup and systemd: My Homelab Workflow</title>
      <link>https://mrtomlinux.org/post/2026-06-02-taming-background-tasks-with-nohup-and-system/</link>
      <pubDate>Tue, 02 Jun 2026 09:17:56 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-06-02-taming-background-tasks-with-nohup-and-system/</guid>
      <description>&lt;h2 id=&#34;introduction-to-background-tasks&#34;&gt;Introduction to Background Tasks&lt;/h2&gt;&#xA;&lt;p&gt;As someone who&amp;rsquo;s spent years running a homelab, I&amp;rsquo;ve found myself dealing with a multitude of background tasks on a daily basis. These tasks can range from simple scripts to complex services, all of which need to be managed and monitored. I&amp;rsquo;ve seen this go wrong when a task is left to run without proper management, so I&amp;rsquo;ve learned to rely on tools like &lt;code&gt;screen&lt;/code&gt; and &lt;code&gt;tmux&lt;/code&gt; to keep my tasks running. However, I&amp;rsquo;ve recently started using &lt;code&gt;nohup&lt;/code&gt; and &lt;code&gt;systemd&lt;/code&gt; to manage my background tasks, and I have to say, it&amp;rsquo;s been a game-changer.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Removable Device Chaos: Automatically Mounting and Naming Disks on Desktop Linux</title>
      <link>https://mrtomlinux.org/post/2026-05-30-taming-removable-device-chaos-automatically-m/</link>
      <pubDate>Sat, 30 May 2026 10:15:43 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-05-30-taming-removable-device-chaos-automatically-m/</guid>
      <description>&lt;h2 id=&#34;introduction-to-removable-device-chaos&#34;&gt;Introduction to Removable Device Chaos&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve lost count of how many times I&amp;rsquo;ve struggled with removable devices on my Linux desktop. Whether it&amp;rsquo;s a USB drive, an SD card, or an external hard drive, these devices can be a real hassle to manage. The problem usually starts when you plug in a device and your system assigns it a cryptic device file in the &lt;code&gt;/dev&lt;/code&gt; directory. For example, a USB drive might become &lt;code&gt;/dev/sdb1&lt;/code&gt;. Not exactly user-friendly, right?&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming systemd Service Restarts: When RestartSec Isn&#39;t Enough</title>
      <link>https://mrtomlinux.org/post/2026-05-29-taming-systemd-service-restarts-when-restarts/</link>
      <pubDate>Fri, 29 May 2026 08:38:45 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-05-29-taming-systemd-service-restarts-when-restarts/</guid>
      <description>&lt;h2 id=&#34;introduction-to-systemd-service-restarts&#34;&gt;Introduction to systemd Service Restarts&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve worked with systemd services for years, and one thing that&amp;rsquo;s always caught my attention is the &lt;code&gt;Restart&lt;/code&gt; directive. You know, that option that lets you configure how a service should be restarted in case of failure. The &lt;code&gt;RestartSec&lt;/code&gt; option is particularly interesting - it specifies the time to sleep before restarting a service. But, as I&amp;rsquo;ve learned the hard way, &lt;code&gt;RestartSec&lt;/code&gt; isn&amp;rsquo;t always enough to ensure reliable service restarts.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming My Laptop&#39;s Power Consumption with systemd and Linux Tools</title>
      <link>https://mrtomlinux.org/post/2026-05-28-taming-my-laptops-power-consumption-with-syst/</link>
      <pubDate>Thu, 28 May 2026 11:33:08 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-05-28-taming-my-laptops-power-consumption-with-syst/</guid>
      <description>&lt;h2 id=&#34;introduction-to-power-management&#34;&gt;Introduction to Power Management&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve always been keen on optimizing my laptop&amp;rsquo;s power consumption, and with the latest Linux kernel and systemd advancements, it&amp;rsquo;s become a lot easier to manage. In this article, I&amp;rsquo;ll walk you through my experience with taming my laptop&amp;rsquo;s power usage using systemd and Linux tools.&lt;/p&gt;&#xA;&lt;h2 id=&#34;understanding-power-consumption&#34;&gt;Understanding Power Consumption&lt;/h2&gt;&#xA;&lt;p&gt;To get started, you need to know where your laptop is consuming power. I usually start with the &lt;code&gt;powertop&lt;/code&gt; tool to analyze power usage. It&amp;rsquo;s a command-line tool that shows you which components are consuming the most power. You can install it on most Linux distributions, including &lt;a href=&#34;https://archlinux.org/&#34;&gt;Arch Linux&lt;/a&gt; and &lt;a href=&#34;https://debian.org/&#34;&gt;Debian&lt;/a&gt;. Don&amp;rsquo;t bother with the GUI tools for this - &lt;code&gt;powertop&lt;/code&gt; gives you all the info you need.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Troubleshooting Failed Mounts in Emergency Mode with systemd</title>
      <link>https://mrtomlinux.org/post/2026-05-27-troubleshooting-failed-mounts-in-emergency-mo/</link>
      <pubDate>Wed, 27 May 2026 08:35:53 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-05-27-troubleshooting-failed-mounts-in-emergency-mo/</guid>
      <description>&lt;h2 id=&#34;introduction-to-emergency-mode&#34;&gt;Introduction to Emergency Mode&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve seen my fair share of Linux systems dropping into emergency mode, and it&amp;rsquo;s usually due to a critical issue during boot. This mode provides a minimal environment for troubleshooting and repair, which can be a lifesaver. One common issue that can lead to emergency mode is a failed mount. In this article, I&amp;rsquo;ll walk you through how to troubleshoot failed mounts in emergency mode with systemd.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Systemd Services that Refuse to Die: How I Learned to Stop Worrying and Love the `--no-block` Option</title>
      <link>https://mrtomlinux.org/post/2026-05-24-taming-systemd-services-that-refuse-to-die-ho/</link>
      <pubDate>Sun, 24 May 2026 10:23:19 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-05-24-taming-systemd-services-that-refuse-to-die-ho/</guid>
      <description>&lt;h2 id=&#34;introduction-to-systemd-services&#34;&gt;Introduction to Systemd Services&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve encountered my fair share of services that just won&amp;rsquo;t quit, even after trying to stop them. It&amp;rsquo;s frustrating, especially when you&amp;rsquo;re trying to troubleshoot or debug issues. One option that&amp;rsquo;s been a lifesaver for me is the &lt;code&gt;--no-block&lt;/code&gt; option when managing systemd services. In this article, I&amp;rsquo;ll show you how to use this option to tame those stubborn services and make your Linux workflow more efficient.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming systemd Service Restart Behavior with StartLimitBurst and StartLimitInterval</title>
      <link>https://mrtomlinux.org/post/2026-05-23-taming-systemd-service-restart-behavior-with-/</link>
      <pubDate>Sat, 23 May 2026 11:27:52 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-05-23-taming-systemd-service-restart-behavior-with-/</guid>
      <description>&lt;h2 id=&#34;introduction-to-systemd-service-restart-behavior&#34;&gt;Introduction to systemd Service Restart Behavior&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve seen this go wrong when working with systemd services: a service restarts repeatedly, causing issues with your system&amp;rsquo;s stability and performance. The real trick is to understand how to tame this behavior using two key parameters: &lt;code&gt;StartLimitBurst&lt;/code&gt; and &lt;code&gt;StartLimitInterval&lt;/code&gt;.&lt;/p&gt;&#xA;&lt;h2 id=&#34;understanding-startlimitburst-and-startlimitinterval&#34;&gt;Understanding StartLimitBurst and StartLimitInterval&lt;/h2&gt;&#xA;&lt;p&gt;These two settings are related and determine how often a systemd service can restart within a given time frame. &lt;code&gt;StartLimitBurst&lt;/code&gt; specifies the maximum number of restarts allowed within the &lt;code&gt;StartLimitInterval&lt;/code&gt; time period. If the service restarts more times than specified by &lt;code&gt;StartLimitBurst&lt;/code&gt; within the &lt;code&gt;StartLimitInterval&lt;/code&gt;, it will be placed in a failed state and will not be restarted again.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming System Load Spikes with nice, ionice, and cgroups on a Home Server</title>
      <link>https://mrtomlinux.org/post/2026-05-22-taming-system-load-spikes-with-nice-ionice-an/</link>
      <pubDate>Fri, 22 May 2026 10:06:37 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-05-22-taming-system-load-spikes-with-nice-ionice-an/</guid>
      <description>&lt;h2 id=&#34;introduction-to-system-load-spikes&#34;&gt;Introduction to System Load Spikes&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve had my fair share of system load spikes on my home server over the years. These spikes can be caused by resource-intensive applications, misconfigured services, or even malware. I recall one particularly nasty spike that brought my server to its knees - it was a real wake-up call. Since then, I&amp;rsquo;ve been exploring ways to manage system load on my Linux home server. In this article, I&amp;rsquo;ll share my experiences with using &lt;code&gt;nice&lt;/code&gt;, &lt;code&gt;ionice&lt;/code&gt;, and &lt;code&gt;cgroups&lt;/code&gt; to tame these spikes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Recovering from a Failed Boot After Accidentally Removing systemd on a Desktop System</title>
      <link>https://mrtomlinux.org/post/2026-05-21-recovering-from-a-failed-boot-after-accidenta/</link>
      <pubDate>Thu, 21 May 2026 10:50:50 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-05-21-recovering-from-a-failed-boot-after-accidenta/</guid>
      <description>&lt;h2 id=&#34;introduction-to-the-problem&#34;&gt;Introduction to the Problem&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve seen this go wrong when you&amp;rsquo;re trying to remove unnecessary packages from your system - accidentally removing systemd can be a real headache. As of 2026, systemd has become an essential part of many Linux distributions, including Debian, Arch Linux, and OpenSUSE. It&amp;rsquo;s responsible for managing system services, boot processes, and system states. If you&amp;rsquo;ve found yourself in this situation, don&amp;rsquo;t worry, it&amp;rsquo;s recoverable. In this article, we&amp;rsquo;ll walk through the steps to recover from a failed boot after removing systemd.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming Background Tasks with nohup and systemd - A Homelab Lesson Learned</title>
      <link>https://mrtomlinux.org/post/2026-05-20-taming-background-tasks-with-nohup-and-system/</link>
      <pubDate>Wed, 20 May 2026 09:30:22 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-05-20-taming-background-tasks-with-nohup-and-system/</guid>
      <description>&lt;h2 id=&#34;introduction-to-background-tasks&#34;&gt;Introduction to Background Tasks&lt;/h2&gt;&#xA;&lt;p&gt;As someone who&amp;rsquo;s spent years running a homelab, I&amp;rsquo;ve learned that managing background tasks can be a real challenge. You&amp;rsquo;ve got scripts and commands that need to keep running, even after you&amp;rsquo;ve logged out of your system. In my experience, &lt;code&gt;nohup&lt;/code&gt; and &lt;code&gt;systemd&lt;/code&gt; have been the two most useful tools for getting this done.&lt;/p&gt;&#xA;&lt;h2 id=&#34;what-is-nohup&#34;&gt;What is nohup?&lt;/h2&gt;&#xA;&lt;p&gt;&lt;code&gt;nohup&lt;/code&gt; is a simple command that lets you run a process in the background, ignoring the SIGHUP signal that&amp;rsquo;s sent when the controlling terminal closes. This means you can start a process with &lt;code&gt;nohup&lt;/code&gt;, log out, and the process will just keep on running. Here&amp;rsquo;s an example:&lt;/p&gt;</description>
    </item>
    <item>
      <title>Taming CPU Usage Spikes with `systemd` and `ps` in My Home Server Setup</title>
      <link>https://mrtomlinux.org/post/2026-05-17-taming-cpu-usage-spikes-with-systemd-and-ps-i/</link>
      <pubDate>Sun, 17 May 2026 10:15:48 +0200</pubDate>
      <guid>https://mrtomlinux.org/post/2026-05-17-taming-cpu-usage-spikes-with-systemd-and-ps-i/</guid>
      <description>&lt;h2 id=&#34;introduction-to-cpu-usage-spikes&#34;&gt;Introduction to CPU Usage Spikes&lt;/h2&gt;&#xA;&lt;p&gt;I&amp;rsquo;ve had my fair share of CPU usage spikes on my home server, and I&amp;rsquo;ve learned that they can be caused by a variety of factors, including resource-intensive applications, misconfigured services, or even malware. The real trick is to identify the root cause of the spike and take corrective action. In my experience, using &lt;code&gt;systemd&lt;/code&gt; and &lt;code&gt;ps&lt;/code&gt; can be a powerful way to manage CPU usage spikes.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Understanding Systemd</title>
      <link>https://mrtomlinux.org/post/systemd/</link>
      <pubDate>Fri, 03 Jan 2025 00:00:00 +0000</pubDate>
      <guid>https://mrtomlinux.org/post/systemd/</guid>
      <description>&lt;p&gt;&lt;strong&gt;Systemd&lt;/strong&gt; is a modern init system and service manager for Linux, designed to address the limitations of traditional init systems like SysVinit. It has become the default init system for many major Linux distributions, including Ubuntu, Fedora, and Arch Linux. Systemd offers a comprehensive set of features aimed at improving the efficiency, performance, and manageability of Linux systems.&lt;/p&gt;&#xA;&lt;h2 id=&#34;key-features-of-systemd&#34;&gt;Key Features of Systemd&lt;/h2&gt;&#xA;&lt;h3 id=&#34;parallel-startup&#34;&gt;Parallel Startup&lt;/h3&gt;&#xA;&lt;p&gt;One of Systemd&amp;rsquo;s most significant advantages is its ability to start services in parallel, drastically reducing boot times. Unlike older init systems, which execute startup scripts sequentially, Systemd leverages dependency management to start services simultaneously whenever possible.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
