Re superprovisionamento - tudo que você precisa garantir é que o próprio SSD tenha um número suficiente de blocos que saiba que não estão sendo usados. Não é importante saber se, porque: a) eles não são usados porque estão no espaço não particionado, por isso nunca foram gravados pelo sistema operacional, ou b) eles tiveram zeros escritos para eles e o firmware do SSD implementa a hueristics para detectar que e considerá-los não alocados, ou c) eles foram alvo de uma operação DISCARD ('trim'). Qualquer (e apenas) um desses é altamente recomendável.
Re noatime: Acho que pessoalmente não me importo com os últimos tempos de acesso dos arquivos, e nenhum software que eu uso parece se importar também. Então eu montei tudo com 'noatime'. Existem vagas referências na Internet sobre programas sem nome que funcionam mal se 'noatime' for usado, mas eu nunca vi esse programa.Recortar / descartar: Você deve executar o fstrim periodicamente. Não importa como é invocado, mas importa com que frequência é invocado. Executá-lo em cada inicialização, por exemplo, usando rc.local, provavelmente seria excessivo, a menos que você reinicialize muito raramente ou use, libere espaço em disco com muita frequência ou ambos. Não monte com 'descarte', porque ele faz com que o kernel execute operações TRIM perto dos blocos de tempo que são liberados, o que é provavelmente um momento em que você provavelmente notará o aumento da latência que causa. É menos provável que você perceba ou se preocupe com um cron job sendo executado (digamos) às 3h. Imagino que uma vez por mês seria mais do que suficiente para uma carga de trabalho média no desktop ou uma vez por semana para uma carga de trabalho de área de trabalho com muita gravação. Eu não sei de nenhuma maneira perfeita de saber quando um fstrim é aconselhável, porque os detalhes da alocação de blocos são geralmente escondidos pelo firmware da unidade. Se você observar uma desaceleração significativa do desempenho da unidade, um fstrim seria uma boa coisa para tentar. Se você não notar uma desaceleração, provavelmente não precisará fazer nada.
Re E / S scheduler - faça um benchmark das cargas de trabalho de que você gosta. Não há substituto para evidências empíricas.
Re swap - RAM é bastante barato hoje em dia, então eu e meu empregador compramos grandes quantidades dele - pelo menos 16GB por máquina que eu construo para uso doméstico, e pelo menos 256GB nos servidores no trabalho. Para todas as cargas de trabalho em todas as máquinas que encontro em casa e no trabalho, tudo se encaixa confortavelmente na RAM, com muito espaço de sobra para o cache. Assim, desative o swap em casa e no trabalho. Além disso, o uso de swap causaria uma diminuição no desempenho, o que seria inaceitável para mim e para nossos usuários, e que, portanto, faria com que eu ou meu empregador comprássemos ainda mais RAM com urgência. Então, eu nunca quero usar swap - ele tenta esconder um problema de falta de RAM que eu prefiro resolver. Não posso comentar sua posição. Eu imagino que poderia ser semelhante.Por último, desativo, ou mesmo desinstalo, muitos serviços que são instalados e habilitados por padrão nas distribuições populares do Linux. Isso economiza alguma memória virtual, mas talvez mais importante, "endurece" a máquina contra ataques. Se isso for feito religiosamente, deve haver pouco ou nada sem valor na RAM que possa ser trocado para o disco sem sacrificar o desempenho.