On Nov 1, 2011, at 9:34 AM, Stephen Clark wrote:So what I hear if that if you are using sata interface and not doing virtualization we should be using FITRIMS's from a cron job. At what frequency should
That does something different; this does continuous discards as you delete files. This is probably the best thing to do if you are using thin-provisioning. However, with SATA devices, a discard requires a queue flush, which can be a performance disaster. (Also some cheaper SSD's also have real performance difficulties if there are frequent trims.) There have also been reports that high frequency discards can trigger bugs that cause crappier SSD's to turn themselves into bricks. The performance problems and the possibility of bricking crappier SSD's is why this isn't turned on by default.You can enable the trim behaviour by default by adding to your<snip>
/etc/mke2fs.conf file:
[defaults]
discard = true
But then it's on your head if anything bad happens. :-/
- Ted
What about using discard in fstab like:
LABEL=/ / ext4 defaults,discard,noatime,nodiratime 1 1
Because of this, another method is to do FITRIM's periodically using cron. This has less of a performance impact, so it's probably the better approach in many cases.
Basically, with SSD's and thin-provisioning systems, we are very much at the mercy at the competence of firmware authors. As we know, sometimes firmware authors can be quite competent, or very, extremely incompetent. So there will be a wide range of outcomes, which is one of the reasons why the best answer is to test to see what works best for you, preferably before you put use your systems in production.
-- Ted