O Ubuntu tem suporte para o comando TRIM para uso com SSD?

34

As unidades SSD precisam ser "limpas / redefinidas" depois que a unidade for preenchida para manter o desempenho. Isso é feito através do comando TRIM para novas unidades SSD. O Ubuntu suporta o comando TRIM (através do hdparm etc) para limpar / redefinir essas unidades?

    
por ssanj 29.07.2010 / 04:25

5 respostas

24

Parece que há suporte para a funcionalidade TRIM nas versões 10.10 e mais recentes:

Além disso, o material TRIM acontece automaticamente - os blocos vazios são liberados automaticamente quando não são mais necessários (por exemplo, você exclui um arquivo), se o disco relatar que ele suporta TRIM. Você não precisa emitir manualmente um comando hdparm para que isso funcione.

    
por Jeremy Kerr 29.07.2010 / 05:20
20

A resposta de Jeremy não é totalmente exata AFAIK. Tenho estado a executar os últimos kernels estáveis no Lucid já há algum tempo e tenho estado a seguir o status de TRIM muito bem, já que tenho uma OCZ Agility como o meu disco principal.

Veja o que (eu acho) eu sei:

  • O kernel tem suporte TRIM a partir de 2.6.33 (Maverick é 2.6.35).

  • O EXT4 tem suporte a TRIM, mas somente quando o registro no diário está desativado.

  • O modo TRIM funciona no kernel é muito básico e muito lento. Os discos que seguem as especificações podem aceitar vários intervalos, mas o kernel atualmente só pode fazer um intervalo de cada vez. Isso vem de algo que li há um mês atrás. Eu gostaria de ter a fonte, pois isso pode não ser verdade ou pode não se aplicar mais.

Journalling é o que mata para mim. A corrupção de dados é uma PITA.

No entanto, as versões mais recentes do hdparm (v9.25 - Maverick está na v9.27) vêm com um script chamado wiper.sh , que executa uma análise rápida de uma unidade e, em seguida, apara todo o espaço vazio. Em vez de perder recursos, acho muito mais fácil executar o cron wiper.sh uma vez por semana (ou uma vez por dia / mês / qualquer outro). A degradação de SSDs para uma unidade do SO não é tão rápida, a menos que você esteja constantemente destruindo as coisas. Você não precisa TRIMming em tempo real.

Há também um frontend GUI chamado DiskTRIM que não parece estar nos repositórios. Usuários menos experientes podem achar isso mais fácil de usar do que configurar tarefas do cron.

Existem PPAs para hdparm e disktrim e todos podem ser executados no Lucid (e mais para trás) sem necessidade de kernels 2.6.33+.

    
por Oli 22.09.2010 / 17:29
8

O Linux tem suporte para o sistema de arquivos TRIM automático com ETX4 desde o kernel 2.6.33.

O primeiro lançamento do Ubuntu com suporte TRIM automático é 10.10 (Maveric), mas ele deve ser ativado no fstab (como descrito aqui ).

    
por Uli 31.12.2010 / 00:29
4

Em geral, sim, porque há várias maneiras de obter kernels mais novos. Se esclarecermos sua pergunta para ler, "O 10.04 LTS tem suporte pronto para o comando?" então a resposta é não. No entanto, os kernels de Maverick e Natty (sabores genérico, genérico-pae, -servidor e virtual) foram enviados para 10.04 LTS e estão disponíveis a partir de $ atualizações de lançamento nos repositórios do Ubuntu, por exemplo, linux-image-generic-lts-backport-maverick is < href="http://packages.ubuntu.com/lucid-updates/linux-image-generic-lts-backport-maverick"> O backport do Maverick para o Lucid .

    
por Daniel T Chen 23.11.2010 / 19:12
2

Estou executando o 11.04 e não parece que o TRIM esteja funcionando de acordo com a caixa.

Testei usando as instruções aqui para criar um arquivo, excluí-lo e ver se os setores estão zerados out / deleted .

Eu tentei ativar o TRIM usando as instruções aqui, mas sem dados

Eu corro wiper.sh, eu recebo

/sbin/wiper.sh --verbose --commit /dev/sda1
wiper.sh: Linux SATA SSD TRIM utility, version 3.3, by Mark Lord.
rootdev=/dev/sda1
fsmode2: fsmode=read-write
/: fstype=ext4
freesize = 13785252 KB, reserved = 137852 KB
Preparing for online TRIM of free space on /dev/sda1 (ext4 mounted read-write at /).

This operation could silently destroy your data.  Are you sure (y/N)? y
Creating temporary file (13647400 KB)..
Syncing disks..
Beginning TRIM operations..
get_trimlist=/sbin/hdparm --fibmap WIPER_TMPFILE.9689

/dev/sda:
trimming 27294800 sectors from 462 ranges
succeeded
Removing temporary file..
Syncing disks..
Done.

No entanto, se eu executá-lo novamente, ele mostra que o mesmo número de setores / intervalos precisa ser aparado e relata o sucesso novamente. Eu fico exatamente a mesma coisa toda vez. Não parece que os setores sejam excluídos / liberados. Lê-los ainda mostra os mesmos dados.

Curioso se alguém mais o fez funcionar.

    
por user10292 06.02.2011 / 04:43

Tags