Just stick with ext4, best all rounder, mature and stable. Unless you have some specific edge case? I doubt you'll notice any speed difference, even on a slow USB stick. Of course it's fun to tinker if you're that way inclined
I would never consider a HDD for a system disk unless it's currently what you have and can't afford to waste money on an SSD. SSDs are cheap as hell these days though and it's the best upgrade you can make and should be the first. The speed difference is incredible. I've been using an SSD for my boot drive for years. I currently have / (including /home) on an M2 with a WD black HDD 2 drive array for data. When they eventually fail I'll be replacing with SSDs (I'm not one to waste money until then!)
I swapped out the HD in the Mrs laptop for an SSD and even the boot drive in my server is an SSD. SSDs are even becoming affordable as data drives. HDD's days are numbered.
Flash memory has come a long way from wearing with writes. Even my 11 year old EeePC notebook has a flash drive that is still going strong and it's on for many hours every day as my Daughter's media player! And that was one of the first flash drives. You'll never wear out a modern SSD with normal (or even heavy) use. The hardware might fail but not from write wear.
If you are worried about wearing out a USB stick (and some of these are not great quality) then you can always mount it with 'noatime'. This prevents writing to a file every time it is
read, those writes are disabled. Write and last access times are still recorded. I mount all my drives with 'noatime' anyway. It's also faster (obviously). For example, a snippet from my fstab -
Code:
# =================
# NVME/SSD/SATA/IDE
# =================
#
# nvme0n1p2 - ROOT (+/home)
# ========= -------------
UUID=8098c654-d219-4395-983b-ad655ecb8d1a / ext4 defaults,noatime 0 1
Relatime is a default mount option. And relatime is much better than atime. The former requires a write for the first read after a write, the latter requires a write for every read. But with noatime each read is free of a write. The factor of two is not correct in general. In theory the factor is between 1 (infinitely often used file) and 2 (infinitely seldom used file). This means, that the true factor is basically 1, as the seldom factors close to 2 do not account significantly in the average The packages are upgraded from time to time. If there were no reads of a file between the times when the package is installed and upgraded, the file was "write-only". There are no additional writes with relatime compared to noatime for the file. For all the rest, there is an additional write when the file is read.
This basically means that the number of writes to a disk for relatime mount is close to double relative to a noatime mount other thing being equal. It is a serious concern for partitions on flash memory devices.
To balance the above information there are risks to file system with noatime, should a power outage occur. If you have a newish install (2008 forward), you can use the
relatime mount option. This is a good compromise for atime I think. relative atime only updates the atime if the previous atime is older than the mtime or ctime. Like noatime, but useful for applications like mutt that need to know when a file has been read since it was last modified. This makes it so most of the applications that need atime will still work, but lessens the disk load -- so it is a compromise. This is the default with recent Ubuntu desktop distributions. overall, the disadvantages are minor (non-existant except for a few special cases), and the performance benefit is significant.
I noticed that Manjaro (and Calamares upstream project) adds the option noatime by default. some observations on this subject are:
- Relatime is almost similar to noatime, without the risk of any problems.
- No other distribution is using noatime (Ubuntu,Solus,Fedora,Opensuse)
- I've read articles which say that noatime improves almost nothing comparing to relatime as far as I/O performance is concerned.
- So, maybe noatime should be removed and use relatime instead (just removing noatime and leave defaults in fstab would imply that relatime is used)?
On the flipside relatime is the kernel default but has caused issues with btrfs in the past, where noatime is actually the "safest" option in some circumstances. What issues is noatime supposed to produce? I heard that E-Mail clients for example are rather picky about that, but I honestly have never encountered any problem with noatime, though my experience is experimental and time limited, and not comprehensive. Maybe ideally someone would push it upstream so noatime becomes the mainline default but...whatever what do I know!!................
PS: Starting from Kernel version 2.6.30, Linux has the option relatime enabled by default.
It means updates of file access time are very infrequent and prudent. But I still see recommendations to use noatime for databases or SSD discs. Are there any reason to change default configuration and use it? Does it make any measurable difference compared to relatime?
There really is no single answer to this question. It all depends on many factors including applications that are using the filesystem, what mix of read/write activity is going on and the hardware itself.
relatime exists as a compromise to ensure that some (older) applications, such as e-mail systems, that use the atime value to determine if a file/message has been read since delivery. As such it is a safe option for a filesystem default. Before considering mounting a filesystem with noatime you should audit the usage of the filesystem to ensure that no applications depend on atime for correct operation.
Assuming that no user of the filesystem depends on atime then whether it is worth changing the default really depends on the volume of reads and writes to the filesystem. A read-mostly usage probably will not make too much of a difference but if there are a large volume of reads/writes to the same file (i.e. typical database workloads) then you will find that most reads also involve a write of atime and that will affect performance.
If the filesystem is only used for database work then it should be safe to use noatime and that will reduce writes to the filesystem. At the end of the day noatime should not be used without due consideration and how much difference it makes can only be determine by benchmarking under a particular workload...................

