O Ubuntu não faz TRIM SSDs por padrão: por que não e como ativá-lo sozinho

Índice:

O Ubuntu não faz TRIM SSDs por padrão: por que não e como ativá-lo sozinho
O Ubuntu não faz TRIM SSDs por padrão: por que não e como ativá-lo sozinho

Vídeo: O Ubuntu não faz TRIM SSDs por padrão: por que não e como ativá-lo sozinho

Vídeo: O Ubuntu não faz TRIM SSDs por padrão: por que não e como ativá-lo sozinho
Vídeo: Como girar a tela de computadores ou notebooks - YouTube 2024, Abril
Anonim
O Ubuntu quer ativar o TRIM para SSDs por padrão no Ubuntu 14.04. Em outras palavras, o Ubuntu não está usando o TRIM, então seu SSD está diminuindo com o tempo. Mas por que o Ubuntu não está usando o TRIM?
O Ubuntu quer ativar o TRIM para SSDs por padrão no Ubuntu 14.04. Em outras palavras, o Ubuntu não está usando o TRIM, então seu SSD está diminuindo com o tempo. Mas por que o Ubuntu não está usando o TRIM?

Esta notícia provavelmente será uma surpresa para muitas pessoas, que assumiram que o Ubuntu e outras distribuições Linux já estavam usando o TRIM. O TRIM impede que os SSD diminuam ao longo do tempo e é uma parte necessária da manutenção do SSD.

Por que o TRIM é importante

Nós cobrimos porque o TRIM é importante antes. Quando você exclui um arquivo em um disco rígido antigo e magnético, o computador simplesmente marca esse arquivo como excluído. Os dados do arquivo ficam no disco rígido. Por isso, os arquivos excluídos podem ser recuperados. O computador acabará por substituir os arquivos excluídos quando ele substitui seus setores com novos dados.

Unidades de estado sólido (SSDs) funcionam de maneira diferente. Sempre que você escreve um arquivo em um SSD, o computador deve primeiro apagar todos os dados nos setores para os quais está gravando os dados. Ele não pode simplesmente "substituir" os setores em uma operação. Primeiro, deve eliminá-los e, depois, escrever nos setores vazios.

Isso significa que um SSD diminuirá com o tempo. Escrever nos setores da SSD será rápido na primeira vez. Depois de excluir alguns arquivos e tentar escrever novamente, isso levará mais tempo. Essa é uma grande parte do motivo pelo qual o Nexus 7 original do Google diminuiu muito com o tempo. O Google corrigiu isso implementando o TRIM no Android 4.3. (O Android também usa o kernel do Linux.)

Com o TRIM ativado, o sistema operacional informa ao SSD toda vez que ele exclui um arquivo. A unidade pode, então, apagar os setores que contêm o conteúdo do arquivo. Assim, a gravação nos setores será rápida no futuro.

Em outras palavras, se você não usa o TRIM, seu SSD diminuirá com o tempo. É por isso que os sistemas operacionais modernos, incluindo o Windows 7+, o Mac OS X 10.6.8+ e o Android 4.3+ usam o TRIM. O TRIM foi implementado no Linux em dezembro de 2008, mas o Ubuntu não o usa por padrão.

Por que o Ubuntu TRIM por padrão?

A verdadeira razão pela qual o Ubuntu não faz o TRIM SSD por padrão é porque a implementação do TRIM no kernel do Linux é lenta e resulta em baixo desempenho em uso normal.

No Windows 7 e 8, o Windows envia um comando TRIM toda vez que ele exclui um arquivo, informando a unidade para excluir imediatamente os bits do arquivo. O Linux suporta isso quando os sistemas de arquivos são montados com a opção “descartar”. No entanto, o Ubuntu - e outras distribuições - não fazem isso por padrão por motivos de desempenho.

O wiki do OpenSUSE contém algumas informações detalhadas de um desenvolvedor que está mais familiarizado com o kernel do Linux do que nós. É um pouco datado, mas provavelmente ainda é verdade quando se trata de desempenho:

“The kernel implementation of realtime trim in 11.2, 11.3, and 11.4 is not optimized. The spec. calls for trim supporting a vectorized list of trim ranges, but as of kernel 3.0 trim is only invoked by the kernel with a single discard / trim range and with current mid 2011 SSDs this has proven to cause a performance degradation instead of a performance increase. There are few reasons to use the kernels realtime discard support with pre-3.1 kernels. It is not known when the kernels discard functionality will be optimized to work beneficially with current generation SSDs.” [Source]

Em outras palavras, o kernel do Linux lida com esses comandos TRIM em tempo real de maneira lenta e não otimizada. Habilitar o TRIM similar ao modo como o Windows faz - isto é, usando a opção “discard” - resulta no sistema realmente se tornando mais lento do que se o TRIM não fosse usado. O Ubuntu e outras distribuições do Linux não permitem o "descarte" por padrão para seus sistemas de arquivos, e você também não deve.

Image
Image

Há outro caminho

Como a operação TRIM em tempo real do "descarte" do kernel do Linux não apresenta um bom desempenho, a maioria das distribuições do Linux, incluindo o Ubuntu, não usa o TRIM automaticamente. O Android também não usou o TRIM até o Android 4.3.

Mas há outra maneira de usar o TRIM. Em vez de simplesmente emitir o comando TRIM toda vez que um arquivo é excluído, o recurso FITRIM pode ser usado. Isso acontece por meio do comando fstrim. Essencialmente, o comando fstrim analisa o sistema de arquivos e informa à unidade quais blocos não são mais necessários, portanto, a unidade pode descartá-los. Isso transforma TRIM de uma operação em tempo real em uma tarefa agendada. Em outras palavras, o fstrim pode executar o TRIM como um cron job. Não há razão para não fazer isso. Não vai abrandar nada; é apenas mais uma tarefa de limpeza que o sistema deve realizar em um cronograma.

Na verdade, essa é a abordagem que o Google adotou com o Android 4.3. O Android simplesmente executa uma tarefa fstrim ocasionalmente para TRIM o sistema de arquivos, corrigindo o problema que reduziu a velocidade de todos os Nexus 7s originais.

O Ubuntu também está procurando ativar o TRIM automaticamente fazendo com que o sistema execute regularmente o fstrim. Espera-se que isso faça parte do Ubuntu 14.04, para que os usuários do Ubuntu não sejam forçados a lidar com a degradação do desempenho do SSD ou a executar o fstrim por conta própria.

Como ativar o TRIM

Não recomendamos a montagem de seus sistemas de arquivos com a operação de "descarte", pois isso provavelmente resultará em desempenho mais lento em uso normal. No entanto, você pode usar o próprio TRIM executando ocasionalmente o comando fstrim ou criando seu próprio cronjob que executa o fstrim em um cronograma.

Para TRIM seu SSD no Ubuntu, simplesmente abra um terminal e execute o seguinte comando:

sudo fstrim -v /

Você pode executar o comando acima ocasionalmente para evitar a degradação do desempenho em SSDs. A frequência com que você precisa executá-lo depende de quantas vezes os arquivos são excluídos do seu SSD. Você verá um erro se tentar executar o comando com uma unidade que não suporta o TRIM.
Você pode executar o comando acima ocasionalmente para evitar a degradação do desempenho em SSDs. A frequência com que você precisa executá-lo depende de quantas vezes os arquivos são excluídos do seu SSD. Você verá um erro se tentar executar o comando com uma unidade que não suporta o TRIM.

Se você deseja executar o TRIM regularmente, você pode simplesmente criar um cronjob que execute o comando fstrim para você.Veja como fazer um trabalho cron do barebones que fará isso automaticamente.

Primeiro, execute o seguinte comando para abrir o editor de texto nano com permissões de root:

sudo nano /etc/cron.daily/fstrim

Digite o seguinte código no arquivo:

#!/bin/sh

fstrim /

Salve o arquivo pressionando Ctrl + O e pressione Enter para confirmar. Pressione Ctrl + X para fechar o nano depois de salvar o arquivo.
Salve o arquivo pressionando Ctrl + O e pressione Enter para confirmar. Pressione Ctrl + X para fechar o nano depois de salvar o arquivo.

Por último, execute o seguinte comando para tornar o script executável:

sudo chmod +x /etc/cron.daily/fstrim

O Ubuntu agora executará o fstrim em um cronograma, assim como faz outras tarefas de manutenção do sistema.
O Ubuntu agora executará o fstrim em um cronograma, assim como faz outras tarefas de manutenção do sistema.

Tenha em atenção que o TRIM só é suportado em sistemas de ficheiros modernos, pelo que precisa de algo como ext4 e não ext3 ou ext2. Se você não sabe qual sistema de arquivos está usando, não se preocupe - o ext4 está selecionado por padrão.

Muito deste conselho também se aplica a outras distribuições Linux. Embora o Linux tenha implementado o suporte TRIM no kernel há muito tempo, seu suporte a TRIM parece nunca ter sido habilitado por padrão para usuários típicos nas distribuições Linux.

Recomendado: