Devo desfragmentar meu SSD?

121

Acabei de saber que não se deve "desfragmentar seu SSD". Mas não tenho ideia se isso é verdade.

Acredito que o Windows 10 foi programado automaticamente para concluir a desfragmentação no meu SSD, mas eu o cancelei. Causaria problemas para desfragmentações feitas antes?

O SSD ainda não está particionado, porque não consigo ver a unidade SSD na pasta Meu computador, apenas no gerenciador de hardware do sistema. Quais são as etapas corretas que devo seguir para instalar o Windows em um SSD (é o meu primeiro SSD)?

jerry
fonte
12
O conselho para "nunca desfragmentar seu SSD" é obsoleto e vem de uma época em que os SSDs eram mais lentos e tinham uma resistência de gravação muito mais limitada do que os SSDs modernos. Os SSDs modernos tendem a ser limitados por IOPS e os sistemas de arquivos desfragmentados precisam de menos E / Ss.
David Schwartz
5
Para o ponto @DavidSchwartz, a quantidade de gravações / exclusões necessárias para matar espontaneamente um SSD moderno é ridiculamente alta. A menos que você esteja processando uma quantidade extraordinária de informações, seu SSD provavelmente durará mais do que muitos outros componentes, mesmo se você estiver executando desfragmentações convencionais.
DanK 28/11
29
Por que você deseja desfragmentar um SSD? O objetivo da desfragmentação é fazer com que os arquivos sejam contíguos no disco, para que os cabeçotes de leitura não precisem procurar por todo o lugar (o que leva tempo, pois envolve movimento físico) para ler o arquivo. Não sou especialista, mas os SSDs AFAIK são de estado sólido e acesso aleatório. Todos os acessos levam o mesmo tempo, portanto, não importa como os blocos de arquivos são distribuídos.
Jamesqf
6
Como Ajedi32 observa, as recomendações para as duas perguntas são completamente opostas. Isso deve afetar a direção da duplicata. Se as recomendações sobre a outra pergunta agora são consideradas erradas, a única maneira de os leitores chegarem lá encontrarem respostas sobre essa pergunta é se uma delas é duplicada.
fixer1234

Respostas:

135

Deixe o Windows fazer seu trabalho. Uma vez por mês, ele realiza uma desfragmentação completa real , também em um SSD, para otimizar os metadados internos.

A resposta curta é: sim, o Windows às vezes desfragmenta os SSDs; sim, é importante desfragmentar os SSDs de maneira inteligente e apropriada; e sim, o Windows é inteligente sobre como trata seu SSD.

Aqui está uma resposta da Microsoft:

O Storage Optimizer desfragmentará um SSD uma vez por mês se as capturas instantâneas de volume estiverem ativadas. Isso ocorre por design e é necessário devido à cópia lenta do volsnap no desempenho de gravação em volumes SSD fragmentados . Também é um equívoco que a fragmentação não é um problema nos SSDs. Se um SSD ficar muito fragmentado, você poderá atingir a fragmentação máxima do arquivo (quando os metadados não puderem representar mais fragmentos de arquivo), o que resultará em erros ao tentar gravar / estender um arquivo. Além disso, mais fragmentos de arquivo significam mais metadados para processar durante a leitura / gravação de um arquivo, o que pode levar a um desempenho mais lento.

No que diz respeito ao Retrim, esse comando deve ser executado na programação especificada na interface do usuário do dfrgui. O retrim é necessário devido à maneira como o TRIM é processado nos sistemas de arquivos. Devido ao desempenho variável do hardware que responde ao TRIM, o TRIM é processado de forma assíncrona pelo sistema de arquivos. Quando um arquivo é excluído ou o espaço é liberado, o sistema de arquivos enfileira a solicitação de corte a ser processada. Para limitar o uso de recursos de espiada, essa fila pode crescer apenas para um número máximo de solicitações de corte. Se a fila tiver tamanho máximo, as solicitações TRIM recebidas poderão ser descartadas. Tudo bem, porque periodicamente faremos um Retrim com o Storage Optimizer. O Retrim é feito com uma granularidade que deve evitar atingir o tamanho máximo da fila de solicitações TRIM em que os TRIMs são descartados.

Então instale o Windows no SSD e esqueça. O Windows fará tudo sozinho.

magicandre1981
fonte
17
Às vezes nós reclamamos sobre a Microsoft ser tão estúpida e tudo. Mas, às vezes, fico impressionado com o quão bem pensados ​​são alguns dos Elementos do Windows.
BlueWizard 2/16/16
1
No entanto, o AFAIK Linux / EXT não precisa fazer isso.
spraff
6
A fragmentação é mantida no mínimo no EXT, mas ainda pode ocorrer em casos de uso específicos, pelo menos no Ext3: en.wikipedia.org/wiki/Ext3#Disvantages
Bret
6
As variantes EXT fragmentam e perdem desempenho. Qualquer pessoa que diga o contrário está vendendo mentiras de superioridade do Linux. Fonte: Eu implementei um driver para ele e ele faz.
precisa saber é
1
@spraff é porque EXT deixa espaços entre os blocos e o arquivo não precisa ser parcialmente gravado em outro lugar quando crescer. Quando cresce. Basicamente, quando você tem um arquivo de vídeo (que nunca cresce), ele ainda ocupa mais espaço do que o necessário e, portanto, desperdiça espaço. Nenhum sistema é perfeito
BlueWizard 5/16
50

Acabei de saber que não se deve "desfragmentar seu SSD". Mas não tenho ideia se isso é verdade.

Um pouco de conhecimento é perigoso. Nunca desfragmentar o seu SSD é provavelmente uma boa ideia se o seu sistema não tem noção do que é um SSD - por exemplo, o Windows XP. E se os SSDs fossem flocos de neve frágeis que provavelmente se desgastariam e derreteriam no calor severo do uso normal - eu tenho uma resposta detalhada sobre por que isso não é verdade . É muito difícil "desgastar" uma unidade no uso normal. Pode ser útil desaprender isso.

Vamos levar em consideração que, se o seu aplicativo estivesse matando SSDs ou mesmo gravando pesado, como o Spotify , as pessoas mudariam. E muitas vezes as pessoas que escrevem sistemas operacionais são inteligentes.

Estou referenciando fortemente este post de Scott Hanselman no restante desta resposta. A resposta de Magicandre também faz referência a isso, mas eu meio que tirei lições diferentes. Vale a pena ler os detalhes. Estou assumindo algumas liberdades sobre como estou representando as informações. Eu começaria com isso

Acho que o principal equívoco é que a maioria das pessoas tem um modelo muito desatualizado de layout de disco \ arquivo e como os SSDs funcionam.

Os SSDs fragmentam e esses fragmentos precisam ser monitorados . Em um nível fundamental, desfragmentar os SSDs ajuda o sistema de arquivos a funcionar com eficiência, mesmo que seja diferente de como seria uma unidade enferrujada em rotação. A postagem que referi aponta que os instantâneos de volume seriam lentos sem desfragmentação.

SSDs também têm o conceito de TRIM. Embora o TRIM (retrim) seja um conceito separado da fragmentação, ele ainda é tratado pelo subsistema Windows Storage Optimizer e o agendamento é gerenciado pela mesma interface do usuário da perspectiva do Usuário.

TRIM é bom. O Trim economiza gravações, pois é um mecanismo para marcar blocos como lidos sem apagá-los e apagá-los conforme necessário.

Quem disse para você nunca desfragmentar uma unidade não tem idéia de que os sistemas operacionais modernos sejam projetados para SSDs e que os processos de limpeza necessários sejam implementados.

Embora seja tentador supor que você conhece melhor, nesse caso, as pessoas que criaram o SO otimizaram as coisas para você. Mantenha a calma e deixe o Windows desfragmentar sua unidade.

Journeyman Geek
fonte
8
Eu acho que essa resposta seria muito melhorada pela menção de endereços de blocos lógicos versus endereços de blocos físicos. Não é possível desfragmentar um SSD, o procedimento no nível do sistema de arquivos que resulta em endereços lógicos seqüenciais ainda resultará em dados espalhados por todo o disco físico, devido ao mapeamento do flash, e tudo bem, porque os SSDs têm acesso aleatório.
Ben Voigt
Para ser sincero, esse é um conceito que eu ainda não compreendi. Acredito que um tratamento completo disso seria uma resposta impressionante para uma das minhas perguntas e tenho algum representante na minha conta de teste que ficaria feliz em premiar como recompensa por isso.
Journeyman Geek
22

Por uma questão de completude:

A fragmentação depende do sistema de arquivos (FS) , não do disco ou do sistema operacional.

Isso significa que a resposta à sua pergunta não precisa realmente solicitar o Windows *; O SSD é um caso especial - funciona de maneira diferente de um disco comum.

Um FS é uma maneira de organizar seus arquivos no disco. Os formatos mais comuns do Windows são NTFSe FAT32. O FSS mais comumente usado no Linux são ext3/ ext4, mas há muitos outros ( zfs, xfs, jfs, ReiserFS, btrfs, e mais).

Um disco é dividido em blocos . Você pode imaginá-lo como uma longa fita na qual você pode gravar alguns dados. Quando você escreve algo no disco, usa esses blocos. Obviamente, você deseja que os arquivos relacionados sejam gravados um ao lado do outro e um único arquivo seja gravado em um único bloco, para que você não precise pular a fita. Quando tudo está espalhado, é o que chamamos de fragmentação . A desfragmentação os organiza.

Obviamente, como você organiza as coisas (FS) determina como elas são organizadas (se há fragmentação). Se você organizar seus arquivos desde o início, não terá fragmentação. É o que acontece em alguns sistemas de arquivos (por exemplo, na extfamília). Esses sistemas de arquivos organizam seus arquivos rapidamente (antes de serem gravados), para que você não precise desfragmentá-los, exceto em circunstâncias especiais, quando não havia outra opção, a não ser introduzir um pequeno distúrbio.

Para obter mais informações sobre ext4e como impede a fragmentação, consulte esta página.

Agora, um SSD funciona de maneira diferente; não é uma fita. Você pode obter acesso instantâneo em qualquer lugar. O ponto principal da desfragmentação é que você organiza seus arquivos ordenadamente, para não precisar pular. Não há como pular em um SSD. Você não se importa se precisa chegar ao outro extremo da fita; não tem fita

No entanto, existem outras maneiras de otimizar um SSD. Consulte este tópico para esclarecimentos.

*Quase; a escolha do sistema de arquivos está correlacionada com o sistema operacional. A maioria dos usuários de Linux usa FS diferentes dos usuários do Windows ou OS X.

MatthewRock
fonte
3
Exatamente isso. A fragmentação ocorre no nível FS, independentemente do meio de armazenamento. Algumas mídias são mais afetadas por elas do que outras, mas sempre há algum impacto e elas não desaparecem simplesmente porque você tem um SSD.
Dmitry Grigoryev
1
A principal diferença é realmente Ext3 e FAT vs Ext4 e NTFS; mas, mesmo assim, aplicativos, o sistema operacional e até o hardware contribuem , geralmente de maneira significativa. O Windows organiza os arquivos usados ​​na inicialização na ordem em que são usados, por exemplo - permitindo que a maior parte da inicialização use leituras de bloco em vez de buscas. Você poderia chamar isso de desfragmentação - é que, além de desfragmentar no nível FS (reduzindo a fragmentação de arquivos), ele também "desfragmenta" grupos de arquivos para otimizar o acesso de uma maneira que o FS não pode realmente ajudar. Você pode imaginar muitas otimizações semelhantes, por exemplo, mover DLLs para perto de EXEs.
Luaan 29/11
Existem muitas camadas diferentes que importam à sua maneira. Por exemplo, a distribuição é uma maneira de fragmentação intencional que pode melhorar o desempenho. A organização física de um disco rígido também pode usar isso, se o disco rígido tiver vários cabeçotes que possam ler simultaneamente de vários pratos. Os SSDs não precisam girar o prato e mover a cabeça para procurar, mas ainda têm um limite de IOPS - e com a velocidade dos SSDs hoje em dia, isso geralmente é mais importante do que a largura de banda bruta. As buscas de SSD não são mais rápidas o suficiente para saturar a largura de banda. A fragmentação é uma pequena parte do problema fundamental - armazenamento em cache.
Luaan 29/11/16
@Luaan: Não existe uma "busca SSD". Eu acho que você está realmente falando sobre a sobrecarga de processamento por comando.
Ben Voigt
1
@BenVoigt Eu acho que Luaan significa que arquivos não consolidados ainda levam mais tempo para serem lidos, mesmo em SSDs. Não há atraso na busca, mas há uma diferença significativa entre as leituras sequenciais e aleatórias nos SSDs.
user1306322
7

As respostas existentes são grandes, mas eu tenho algumas coisas para complementá-los ...
eu desfragmentar meu SSD e desativar TRIM automática , mas por razões totalmente diferentes do que o mencionado:

  1. Quero poder recuperar arquivos ou partições se e quando excluir algo acidentalmente.
    Não, isso não acontece frequentemente, mas nas poucas vezes em que aconteceu, foi muito frustrante não poder recuperar coisas que eu poderia recuperar em um disco rígido, mesmo quando tentei recuperá-las imediatamente após a exclusão .

  2. I expandir, encolher, e até mesmo mover partições em torno de alguns meses, e desfragmentar e consolidar arquivos torna essa operação muito mais rápido e menos arriscado. Você acha que pode confiar nos gerenciadores de partição hoje em dia, mas em dezembro de 2015, encontrei erros (corrupção) em operações simples de mover / redimensionar. E os gerenciadores de partição mais inteligentes tentam evitar a execução de volumes fortemente fragmentados antes que qualquer dano seja causado (e geralmente, embora nem sempre, seja bem-sucedido).

  3. Eu uso o Linux algumas vezes, e eu me queimei com a corrupção dos volumes NTFS recentemente, há um ano ou mais. Isso não se deve especificamente à fragmentação, mas, como ele não consegue lidar com arquivos não fragmentados corretamente, estou na defensiva e tentando apresentar o volume o mais limpo possível (e mesmo assim, evito escrever mais do tempo).

A parte triste sobre os nºs 2 e 3 é que as pessoas que nunca viram esses problemas com seus próprios olhos sempre pensam que eu sou louco e estou inventando tudo isso, ou que meu sistema deve estar danificado de alguma forma. Mas eu já reproduzi isso algumas vezes em vários sistemas e, como alguém que escreveu seus próprios leitores NTFS, sei uma coisa ou duas sobre sistemas de arquivos e programação de kernel ... com o NTFS no centro. Então eu conheço bugs quando os vejo. Ninguém acredita em mim, mas eu aviso as pessoas de qualquer maneira, já que eu já vi isso acontecer com meus próprios olhos - então, se você mexer com partições ou usar o Linux, recomendo que você mantenha seus discos desfragmentados. YMMV.

Ah, e não se esqueça de executar o TRIM manualmente de vez em quando, quando você não precisar recuperar nada. Embora, se estou sendo honesto, ainda não vi nenhum benefício com isso ...

Mehrdad
fonte
1
Excelente, é um bom procedimento desfragmentar (e até "zero") as unidades de flash pelos mesmos motivos, principalmente para a fotografia. Arquivos contíguos são mais fáceis de recuperar, mesmo que parcialmente. Se você reservar um tempo, você também se beneficiará da pré-busca (leia a seguir) se o sistema operacional for inteligente o suficiente. Os SSDs tendem a ser mais lentos que a memória (embora nem sempre sejam verdadeiros).
Mckenzm
O seu conselho sobre o Linux não é realmente "se você usa o Linux e monta o sistema de arquivos NTFS de leitura / gravação com ele", não é realmente "se você usa o Linux"? Usar o Linux com ext4 ou XFS no SSD é perfeitamente seguro. (E FAT, para que o assunto, de modo que você poderia fazer uma partição FAT para troca de dados, se necessário.)
mattdm
@mattdm: Sim, eu acho. (Estranho, eu pensei que eu respondeu a isso já ...)
Mehrdad
0

Você pode desfragmentar seu ssd. Você deveria? Certamente não com muita frequência, mas existem alguns casos em que pode ser benéfico fazê-lo raramente.

a) Você tem um Samsung Evo 840 afetado pela leitura lenta de um bug de arquivos antigos. A desfragmentação irá reescrevê-los e eles não serão mais arquivos antigos.

b) Embora os efeitos da fragmentação nos SSDs sejam extremamente pequenos, o controlador ainda precisa remontar os arquivos que estão espalhados por muitos chips flash. O impacto no desempenho disso é muito pequeno, mas novamente a desfragmentação deve reorganizar os arquivos e facilitar a remontagem do controlador.

c) Se você tiver algo próximo a um ssd moderno, uma desfragmentação ocasional não afetará seu tempo de vida suficiente para importar. Em 2018, um site de tecnologia da hw fez um teste de resistência ssd e o Samsung evo 840 500GB, que usa 2d tlc (que tem resistência muito ruim) falhou em cerca de 600 TB de gravações. Qualquer coisa melhor provavelmente usa o 3d tlc (chamado vnand por algumas empresas), que tem muito mais resistência. Modelos maiores também têm mais células para escrever, o que aumenta ainda mais a resistência. E se você tem uma resistência pro drive grande, isso não é um problema completo (no teste mencionado antes, o Samsung pro 512 GB durou 9 PB de gravações ... modelos maiores / mais novos devem durar ainda mais). Esses números são praticamente impossíveis de alcançar, a menos que você esteja tentando de propósito. Escritas usadas para matar (baratas de qualquer maneira,

orange_juice6000
fonte
-3

A desfragmentação de um SSD promove a falha precoce dos blocos de memória endereçados mais baixos.

Consulte: http://techreport.com/review/27909/the-ssd-endurance-experiment-theyre-all-dead

"Mesmo com os algoritmos de nível de desgaste que espalham gravações uniformemente no flash, todas as células acabam falhando ou se tornam impróprias para o serviço. Quando isso acontece, elas são aposentadas e substituídas por flash alocado na área superprovisionada do SSD. Essa NAND sobressalente garante que o a capacidade acessível do usuário da unidade não é afetada pela guerra de atrito que assola suas células ".

"As vítimas acabarão excedendo a capacidade da unidade de compensar, deixando perguntas sem resposta. Quantas gravações são necessárias? O que acontece com seus dados no final? Os SSDs perdem desempenho ou confiabilidade à medida que as gravações se acumulam?"

jwzumwalt
fonte
5
Este é um caso extremo em que a unidade possui grandes quantidades de dados gravados e substituídos. O que isso tem a ver com desfragmentação regular e de rotina?
Journeyman Geek
Não, não é um caso extremo ... É um teste que mostra a fraqueza inerente ou eventual do produto. Os testes são projetados para mostrar limites.
precisa saber é o seguinte
-6

Cada célula de um SSD fica mais lenta a cada reescrita. O disco oculta esse desgaste, mantendo o controle de quais células foram gravadas e gravando primeiro nas células pouco usadas. Desfragmentar significa reescrever em massa em muitas células e, portanto, desgastará o SSD. Os HDs se beneficiam da desfragmentação porque o desempenho é aprimorado por não ter que mover o braço do servo com frequência, mas os SSDs não são mais lentos devido à colocação aleatória de dados.

Christopher Hostage
fonte
10
Não diminuiu o voto, mas estaria interessado em ver fontes para isso.
Brichins
3
Você está confundindo amplificação de gravação com nivelamento de desgaste . Os SSDs precisam apagar antes que possam escrever, mas apagam blocos maiores do que podem gravar. Isso significa que uma única gravação pode fazer várias gravações para embaralhar os dados e liberar um bloco para apagar. À medida que mais gravações acontecem, esse processo fica mais complicado. Isso é amplificação de gravação. Existem várias maneiras de lidar com isso, como o TRIM e o provisionamento em excesso. O nivelamento de desgaste está se espalhando em quais células você escreve, para que não falhem completamente.
Schwern 28/11