Reducing Wear on the System Drive With Linux
Tagged with laptop computer, linux, tmpfs, ram, zram on March 22, 2024
How long your system drive will last depends on two things. First, the kind of drive. The NVMe SSD, like the one inside my laptop computer, is supposed to last for more than 10 years. Second, how much you actively write to it. I’m talking about what you store on it beyond what the operating system itself requires.
I’m focusing on two areas that Linux famously writes to, but has no mechanism in place to clean them up. One is the /tmp directory, and the other is the /home/user/.cache directory.
Temporary File Storage
Linux writes a lot of temporary files. Some of them are system or application caches that are supposed to make applications run faster. Causing temporary files to be stored in RAM instead of your storage drive will reduce unnecessary wear and take up less space.
If you have at least eight gigabytes of RAM, the /tmp directory can be moved to tmpfs, which is normally limited to half the RAM available. Enter these commands and then reboot:
sudo cp -v /usr/share/systemd/tmp.mount /etc/systemd/system/ sudo systemctl enable tmp.mount
The /home/user/.cache (where user is your username) can’t be moved directly to RAM, but it can be linked symbolicly to a designated cache directory in tmpfs. You can run these commands and reboot to establish the link, but you should clear the cache directory before you reboot. In this example, change “username” to the real username, but not “user”.
mkdir -p ~/.local/share/user-tmpfiles.d echo "D /run/user/1000/cache 0700 username username 1w L+ /home/username/.cache - - - - /run/user/1000/cache" > ~/.local/share/user-tmpfiles.d/cachetmp.conf systemctl --user enable systemd-tmpfiles-setup.service systemd-tmpfiles-clean.timer systemctl --user start systemd-tmpfiles-setup.service systemd-tmpfiles-clean.timer
Of course, none of this will work properly if your Linux distribution doesn’t use systemd. This is also a condensed version of the instructions. If you want details, please examine the references below.
Other Ways to Reduce Wear on the System Drive
One way is to force the swapping mechanism to use RAM. See my article on Zram. Another way is to store as few files on your system drive as possible. It requires some work to use external storage automatically, but external storage devices are relatively inexpensive.
My laptop computer is inexpensive, but it has a 512 gigabyte NVMe SSD drive and eight gigabytes of RAM. Linux itself takes up less than 50 gigabytes, even with everything I’ve installed on it. Even though I have lots of storage space, I use very little of it. Music and video files eat up a lot of space, so I store them on external drives.
References
- Making the .cache folder a temporary folder under linux at “Using FOSS”
- Speed Up your Mint at “Easy Linux Tips Project”
Image by D-Kuru, CC BY-SA 4.0, via Wikimedia Commons
← Previous ArticleNext Article →