Ubuntu 14.10 em diante
No Ubuntu 14.10 e 15.04, TRIMming acontece automaticamente toda semana em todos os SSDs suportados por fstrim
.
$ tail -n1 /etc/cron.weekly/fstrim
/sbin/fstrim --all || true
Ubuntu 14.04
A partir do Ubuntu 14.04, o TRIM agendado é habilitado por padrão para SSDs Intel, SAMSUNG, OCZ, Patriot e Sandisk. Se você tiver outra marca, poderá desabilitar a verificação do fornecedor executando o seguinte comando :
sed -i 's/exec fstrim-all/exec fstrim-all --no-model-check/g' /etc/cron.weekly/fstrim
(ou apenas edite o arquivo /etc/cron.weekly/fstrim
e adicione --no-model-check
)
Ubuntu 13.10 e Anterior
Existem três formas de executar o TRIM, manual, agendado e automático:
TRIM manual
No Ubuntu isso pode ser feito com fstrim
:
sudo fstrim /
no entanto, não é necessário quando o TRIM programado ou automático está ativado, conforme detalhado nas seções abaixo.
Observação: Para sistemas Ubuntu 11.04 e anteriores, o fstrim não está disponível, portanto você deve usar wiper.sh
fornecido com hdparm
em /usr/share/doc/hdparm/contrib/wiper.sh.gz
TRIM agendado (recomendado)
Este é o método atualmente recomendado, e é planejado para ser ativado por padrão no Ubuntu 14.04 . Veja como ativá-lo manualmente em versões mais antigas do Ubuntu (11.10 a 13.10):
Crie um arquivo de script de tarefa CRON semanal:
gksudo gedit /etc/cron.weekly/fstrim
Cole o seguinte código no arquivo, salve e feche o arquivo:
#! /bin/sh
# By default we assume only / is on an SSD.
# You can add more SSD mount points, separated by spaces.
# Make sure all mount points are within the quotes. For example:
# SSD_MOUNT_POINTS='/ /boot /home /media/my_other_ssd'
SSD_MOUNT_POINTS='/'
for mount_point in $SSD_MOUNT_POINTS
do
fstrim $mount_point
done
Observe que o acima assume que apenas o seu sistema de arquivos raiz /
está localizado em um SSD. Se você tiver mais pontos de montagem que residem em um ou mais SSDs, adicione-os a SSD_MOUNT_POINTS
conforme explicado no código.
Torne o script executável:
sudo chmod +x /etc/cron.weekly/fstrim
E finalmente teste:
sudo /etc/cron.weekly/fstrim
Se você não encontrar erros, o trabalho do cron deve estar funcionando bem.
TRIM Automático (Reprovado, Lento)
O TRIM automático é suportado desde o Ubuntu 10.10 (kernel 2.6.33) com o sistema de arquivos EXT4. No entanto, o envio de comandos TRIM para o SSD em tempo real - após cada exclusão - foi reconhecido para tornar a exclusão muito mais lenta que o normal em algumas unidades. Portanto, um TRIM semanal agendado através de um cron job (descrito acima) é recomendado.
Para ativar o TRIM automático em uma unidade ou partição, eles precisam ser montados com a opção discard
em fstab
. Primeiro, faça backup do seu fstab e abra-o para edição:
sudo cp /etc/fstab ~/fstab-backup
gksudo gedit /etc/fstab
Adicione discard
à entrada de opções fstab (separada por vírgula) para a unidade SSD ou para cada partição.
UUID=00000000-0000-0000-0000-000000000000 / ext4 discard,errors=remount-ro 0 1
Feche e salve fstab, depois reinicialize e o TRIM automático deve estar funcionando agora.
Testando o TRIM automático
Para testar se TRIM está funcionando, solucione os seguintes comandos ( origem ):
cd / # Replace with SSD file system
sudo dd if=/dev/urandom of=tempfile count=100 bs=512k oflag=direct
sudo hdparm --fibmap tempfile
Na saída, copie o número em begin_LBA
e verifique o nome do dispositivo do seu SSD: System->Administration->Disk Utility
, por exemplo, sda, sdb, sdc ...
Execute o seguinte, mas substitua [ADDRESS]
(begin_LBA) e sdX
(nome do dispositivo SSD) pelos detalhes obtidos acima.
sudo hdparm --read-sector [ADDRESS] /dev/sdX
a saída deve ser uma longa sequência de caracteres para esses setores
sudo rm tempfile
sync
Repita o comando hdparm
acima:
sudo hdparm --read-sector [ADDRESS] /dev/sdX
Se você obtiver apenas zeros, o TRIM automático estará funcionando. No entanto, se após remover o arquivo, os setores ainda não estiverem vazios, espere um pouco e execute o comando novamente.