
If desirable, enable the "discard" filesystem options for automatic online TRIM.

First read the WARNING at the top of this page.

This improves filesystem read performance for both SSDs and HDDs.Add the "noatime" (or the default "relatime") mount option in /etc/fstab, to disable (or significantly reduce) disk writes whenever a file is read.The performance of SSDs is also influenced by filesystem mounting options: Here are good links for this subject:īlock Alignment issues and analysis on Debian (not specific to SSD)Īligning filesystems to an SSD’s erase block size] by Ted T'so (kernel FS developer) This is one of the most important optimization aspects. You should consider to use the Multi HDD/SSD Partition Scheme to keep variable and bulk data on the HDD(s) and establish a fallback redundancy, if the system also has a HDD available (internal or external spinning disk).Īll tools should automatically align filesystems and partitions to the 4096 byte page size. If you are planning on doing a huge amount of writes (more than 40-50 GB per day), it is advised to avoid SSDs that use TLC NAND.If your SSD size is too small for your DRAM size, think about placing your swap on the larger classic HDD.You need a swap partition that is larger than your DRAM to save all the DRAM content securely for hibernation.Have enough DRAM required to operate without swap space under normal workloads.Use the ext4 filesystem (the most mature filesystem) unless you have reason not to.Use a command like: " sudo smartctl -a /dev/sda" to check for issues. Make sure you review the latest version of that file for your model, and if present then make sure it's also in the version of the kernel you intend to run or find some other way to avoid the problems (like not using discard/TRIM, or a particular firmware version). In particular, many drives, including Samsung, Micron, Crucial have problems with discard/TRIM. If you have a blacklisted controller/drive combination, you are at risk until a newer kernel avoids the problem. For this reason the Linux ata driver maintains a blacklist of certain things it shouldn't do on certain drive/firmware combinations. Some firmware versions on some SSD models have bugs that result in data corruption when used in certain ways. Adding vm.swappiness in sysctl for the kernel.

