TRIM automático vs. manual TRIM

12

No momento, estou tentando descobrir como aparar com meu novo TP e fiquei pensando sobre a diferença de corte manual / on-line.

Aqui está minha configuração:

ThinkPad T430s com SSD Samsung 830, 128GB e Xubuntu 12.10, aqui estão algumas saídas para verificar se o trim funcionará no meu sistema (consegui-los aqui: link )

root@eike-tp:~# sudo hdparm -I /dev/sda | grep -i TRIM
   *    Data Set Management TRIM supported (limit 8 blocks)

Primeiro, tentei o recorte on-line: Como habilitar o TRIM?

meu fstab com descarte inserido:

UUID=d6c49c17-a4f1-466c-9f7e-896c20db3bba /  ext4  discard,noatime,errors=remount-ro  0  1
# swap was on /dev/sda5 during installation
UUID=a0322f5f-c6c1-4896-863f-668f0638d8cf none  swap  sw  0   0
tmpfs /tmp tmpfs defaults,noatime,mode=1777 0 0

Eu tentei testar se funciona (mas eu não obtenho zeros quando eu tento com / dev / sda), mas descobri que esse método só é possível com o SSD tipo 2 e eu pareço ter o tipo 3 Então eu não sei se funciona ou não.

O Ubuntuwiki (primeiro link) recomenda o corte manual, então eu configurei um cronjob diário ao invés de descartar:

#!/bin/sh
LOG=/var/log/batched_discard.log
echo "*** $(date -R) ***" >> $LOG
fstrim -v / >> $LOG

o artigo do wiki sugere semanalmente ou diariamente. Agora para minhas perguntas:

Com que frequência executa o ajuste automatizado? Com que frequência é recomendado? On-line vs. corte manual?

Obrigado pela sua ajuda

    
por Eike Cochu 24.10.2012 / 21:52

4 respostas

3

A diferença entre o ajuste automático e manual é que o ajuste automático (usando a opção discard mount) apara blocos liberados na sincronização após qualquer arquivo ser excluído, enquanto o ajuste manual (usando fstrim ) apara todo o espaço livre de uma só vez .

Teste

Uma forma de testar se o ajuste automático está funcionando seria criar e excluir um arquivo grande:

user@host:/somewhere$ dd if=/dev/urandom bs=1M count=100 of=bigfile
user@host:/somewhere$ sync
user@host:/somewhere$ rm bigfile
user@host:/somewhere$ sync

Se o descarte automático estiver funcionando, o aparar manualmente novamente não cortará muitos blocos, pois eles já devem ter aparado. Execute sudo discard -v no seu sistema de arquivos e veja quantos blocos foram cortados.

Recomendação

Para o que é recomendado: Na minha experiência, o ajuste automático mata o desempenho. No entanto, isso provavelmente depende do hardware; pode ficar bem no seu disco.

Se você estiver usando o ajuste manual, com que frequência, pense na taxa na qual você escreve dados em sua carga de trabalho típica, em comparação com a quantidade de espaço livre no seu SSD. Você deseja aparar com bastante frequência, antes que seu disco fique cheio de dados excluídos. Se o seu SSD for maioritariamente espaço livre ou a carga de trabalho do seu disco for ligeira, o corte ocasional (semanal ou até mais) deverá ser suficiente. Se o seu SSD estiver quase cheio ou você, por exemplo, editar arquivos de vídeo com frequência, você precisará aparar com mais frequência.

    
por Mechanical snail 21.04.2013 / 01:25
2

Não sou engenheiro de armazenamento e tenho preocupações relacionadas comigo , mas posso fazer uma sugestão possivelmente útil no agendamento. Estou muito confiante de que o TRIM não causa nenhum desgaste preocupante no SSD. É apenas o serviço de limpeza que o seu disco terá que sofrer eventualmente, antes que ele possa começar a reciclar os blocos. A melhor programação para o TRIMming em lote dependeria do uso; uma função de frequência de escrita e espaço livre, eu deveria pensar. Isso em mente, eu desligaria a tarefa cron e fstrim -v manualmente por vários dias.

O truque que eu acho é criar um cronograma onde o lote TRIM prepara o SSD para escrever antes que os blocos usados tenham que ser reciclados para cumprir uma operação normal de gravação, prejudicando assim o desempenho. Espere 24 horas e fstrim. Se ele afirma ter aparado muito menos blocos do que o espaço livre, provavelmente você está bem servido do TRIMming em lote com menos frequência do que isso.

    
por dam 25.10.2012 / 06:48
2

Eu preparei demônio de fstrim link

Parece ser mais confiável executar o fstrim com base no tempo de atividade do que na tabela cron. Divirta-se.

    
por Dobek 23.09.2013 / 09:27
1

Eu aponto meu SSD em cada inicialização. Eu fiz um arquivo sh que é chamado 20 segundos após a inicialização. Optei por exibir a saída do fstrim em uma notificação do sistema em vez de um arquivo de log.

primeiro crie o arquivo trim.sh no diretório ~/bin

#! /bin/sh
notify-send "TRIM" "$(sudo fstrim -v /)"

Agora precisamos dar privilégios ao usuário para executar o fstrim, para que não seja necessário inserir uma senha. Abra seu arquivo sudoers com visudo e anexe a seguinte linha:

yourusername  ALL=(ALL) NOPASSWD: /sbin/fstrim

Se você incluir sua pasta home/yourusername/bin no seu $PATH , também poderá aparar manualmente no terminal com o comando 'trim' sem a necessidade de uma senha.

Agora você pode adicionar seu script aos aplicativos de inicialização e especificar um atraso. Você precisa fazer logout / login novamente para que sua nova entrada sudoers seja carregada.

    
por kasper Taeymans 25.08.2015 / 17:08

Tags