On a modern PC, you expect your high-end NVMe drive and multicore processor to give the best performance. That’s why I couldn’t accept that my hardware was the problem after noticing micro-stutters while heavy multitasking on my fresh Linux Mint install. My curiosity led me to investigate, and I realized that the problem was Linux Mint itself.
By default, it uses conservative kernel defaults for broad compatibility, which can unnecessarily limit performance on modern systems. Altering these three system configurations unlocks the device’s true speed.
Lower Linux Mint’s swappiness
My RAM stopped fighting me
When you switch back to a tab it often has to reload, and minimized apps can take a moment to wake up. You would observe this even if your system monitor shows gigabytes of free RAM. So even though memory is available, it feels like the operating system isn’t using it.
The reason is tied to a kernel setting called swappiness. This is a number from 0 to 100 that controls how aggressively the device inactivates processes from RAM and moves them into your drive. On Linux Mint, the default is 60, which allows it to work on most devices, including underpowered notebooks. However, on more powerful devices with 8GB or more RAM, this means Linux Mint is shuffling things to swap long before it needs to.
The problem is latency, not throughput, so even a fast SSD doesn’t fix it. In a benchmark, the difference between RAM responding in nanoseconds and NVMe responding in microseconds is invisible, but large enough to feel the tiny hesitation in apps returning to activity.
When I ran the command free -h, I watched swap fill up while RAM remained empty for the most part. This was what convinced me that the operating system was optimized for the worst-case scenario that did not apply to me. Run the free -h; if swap is nonzero, add vm.swappiness = 10 to /etc/sysctl.conf. Then run sudo sysctl -p to instantly apply the change.
Confirm it worked with cat /proc/sys/vm/swappiness; it should return 10.
At 10, swap remains a genuine emergency backup, and processes stop being prematurely evicted from RAM.
Replace Linux Mint’s power manager
My CPU stopped hesitating
Your system may feel slower than the hardware is capable of, even with temperature and CPU usage looking normal. This issue didn’t show up in benchmarks and took longer to identify.
The performance throttling happens because desktop use happens in thousands of tiny bursts. Opening apps, switching windows, and spawning processes typically complete in under half a second. Small interactions arrive a bit later than they should when the computer doesn’t reach performance states fast enough for these small tasks. This causes a sluggishness that you may observe.
Linux Mint 22 sets power-profiles-daemon to Balanced by default. This is the right choice for compatibility with older devices, but this means it is conservative on modern Intel and AMD chips with wide P-state ranges, so the CPU can’t climb to higher frequencies without first waiting to confirm a sustained load. This kind of hesitation compounds with highly interactive, intermittent tasks.
I replaced the daemon with auto-cpufreq, which dynamically adjusts the CPU governor and turbo boost by monitoring usage, temperature, and power state in real time.
Check TLP status with systemctl status tlp . If it is running, remove it with sudo apt remove tlp tlp-rdw before installing auto-cpufreq to avoid conflicts.
Now you can run the commands below to install auto-cpufreq (The installer automatically disables power-profiles-daemon):
sudo apt install gitgit clone https://github.com/AdnanHodzic/auto-cpufreq.git
cd auto-cpufreq && sudo ./auto-cpufreq-installer
sudo auto-cpufreq --install
You can see if it’s working and view live per-core frequencies and turbo state by running this command: sudo auto-cpufreq --statsThe effect is that apps will launch faster, VM startup improves, and browser tabs become more responsive.
Tune Linux Mint’s disk caching
My SSD stopped causing stutters
Linux doesn’t immediately send the files you write to storage. This data remains in RAM as dirty pages and gets flushed to disk in batches. Two kernel parameters control when the flush happens:
- vm.dirty_background_ratio: when background flushing starts
- vm.dirty_ratio: the cap before freezing all I/O until the backlog is cleared
The defaults for these two are 10% and 20%, respectively. This implies that if you have 16GB of RAM, you get 1.6GB of pending writes before flushing even begins, and 3.2GB before the system halts everything to catch up. That halt may be half a second, but it’s a stutter you feel during specific tasks like software updates, cloud sync, or archive extraction.
The fix is to add the two lines of code below to /etc/sysctl.conf and running sudo sysctl -p:
vm.dirty_background_ratio = 5vm.dirty_ratio = 10
Once done, you halve the write backlog and allow smaller and more frequent flushes. They stop being occasional and noticeable.
Of the three changes, this one is the most situational, and developers, creators, and heavy multitaskers will benefit most.
Which tweak mattered most?
You will get the most impact from lowering swappiness. On my machines with 8GB and 16GB of RAM, the difference is easily noticeable. It’s a single-line, low-risk change. However, I felt the impact of replacing the power manager the most when I compile or work with virtual machines. Disk caching seemed to serve more as a final step in eliminating what’s left of a specific kind of stutter that the other changes missed.
The point of all this isn’t that Linux Mint’s defaults are slow; they are just designed for maximum hardware compatibility, and I needed to get the most out of more modern computers.
