O que um desfragmentador realmente faz?

13

O que um desfragmentador realmente faz? Ele coloca os arquivos que são executados em sequência mais próximos?

user3183
fonte

Respostas:

19

Na verdade, ele reúne todas as partes diferentes de UM arquivo, portanto, se esse arquivo específico for necessário, o disco rígido não precisará mover seu braço (que é o verdadeiro rompedor de desempenho aqui) muito para reunir todos os bits do arquivo . ==> portanto, melhor desempenho (embora nem sempre seja perceptível).

Observe que isso se aplica apenas a discos rígidos com pratos e peças móveis. Para SSDs, isso não é problema, pois leva o mesmo tempo para buscar todos os dados independentemente de onde estão localizados no disco. Desfragmentar SSDs é realmente uma péssima idéia, pois eles têm um número limitado de vezes em que podem ser gravados em cada 'setor' (eu não acho que 'setor' seja o termo certo aqui, mas você sabe o que eu quero dizer).

fretje
fonte
3
Não apenas não é um problema para os SSDs, mas desfragmentá-los é na verdade uma má ideia devido a seus limites.
1011 Jeff Yates
Na verdade, vou atualizar minha resposta.
#
13

Depende do programa de desfragmentação.

No mínimo, o objetivo será colocar os clusters de um único arquivo ou diretório em uma sequência contígua, desde que haja espaço disponível para isso.

Também pode sequenciar arquivos e diretórios de acordo com os perfis de uso, se os coletar.

Talvez não seja possível mover alguns arquivos (normalmente, certos arquivos abertos e do sistema).

O motivo da desfragmentação é que as leituras aleatórias são consideravelmente mais lentas do que a leitura de uma sequência contínua de blocos / clusters do disco. No entanto, nem todos os sistemas de arquivos ou sistemas operacionais têm os mesmos requisitos para programas de desfragmentação (separados).

mas
fonte
A desfragmentação também geralmente agrupa o espaço livre no disco em grupos que são tão grandes quanto possível. Isso ajuda a impedir que arquivos recém-criados sejam fragmentados e permite que eles sejam gravados mais rapidamente.
David Schwartz
3

A desfragmentação pode fazer duas coisas:

  • Garante que todas as partes de um arquivo estejam localizadas em uma parte contínua do disco rígido. A maioria dos arquivos é dividida em "fragmentos" menores que ficam presos onde quer que haja espaço. Inicialmente, eles serão armazenados continuamente, mas serão criadas lacunas / incontinuidades quando os arquivos forem excluídos / modificados. Se um arquivo é armazenado continuamente, ele pode ser lido mais rapidamente.
  • Otimize o local no disco rígido (apenas discos rígidos giratórios.) Os discos rígidos são compostos de pratos giratórios em forma de disco. A parte externa gira mais rapidamente, de modo que o disco rígido terá melhor desempenho ao gravar / ler próximo à parte externa desses pratos, porque mais dados passarão sob a cabeça de leitura / gravação por um determinado período de tempo.

Além disso, gostaria de adicionar algo sobre a desfragmentação de SSDs:

Desfragmentando um SSD

Há muito tempo, prometi publicar por que a desfragmentação de um SSD ainda é relevante e necessária. É verdade que, com um SSD, não há pratos físicos que precisam girar no lugar e nem braços de leitura / gravação que precisam se mover descontroladamente pela superfície de um disco. Por esse motivo, parece que desfragmentar é uma perda de tempo. Você também pode argumentar que, como os SSDs acabam se desgastando, você não deve desperdiçar ciclos de reescrita em algo tão simples quanto desfragmentar seu disco.

Um dos fatos sobre a tecnologia de memória flash NAND usada nos SSDs é que a gravação de dados leva muito mais tempo do que a leitura de dados. Quando um arquivo é apagado, assim como a tecnologia padrão de disco rígido, somente as informações do diretório são apagadas e as células de dados são marcadas como "utilizáveis" novamente. Os dados em si ainda estão intactos até que algo novo os substitua.

Isso significa que, se o espaço da memória estiver em uso com um arquivo “excluído”, ele deverá primeiro ser apagado antes de poder ser reprogramado. Se o espaço livre estiver fragmentado, um novo arquivo deverá ser dividido em vários pequenos comandos de gravação em vez de um comando de gravação maior. Isso causará uma diminuição no desempenho dos SSDs porque a velocidade de gravação é lenta, especialmente para transferências de gravação de pequenos blocos. Sim, a memória cache ajuda a mascarar esse problema de desempenho, mas independentemente da tecnologia, um comando de gravação longo é sempre melhor do que vários comandos de gravação curta.

Net, desfragmentar seu disco regularmente, se você quiser o máximo desempenho.

fonte: Blog Inside the Box Lenovo

Leftium
fonte
3
Esse cara que você citou está errado. O SSD combina internamente várias gravações em diferentes blocos lógicos em uma única gravação em flash. Como leituras, gravações aleatórias são tão rápidas quanto sequenciais em um SSD.
psusi
4
Você também não pode controlar onde os dados são colocados na maioria dos SSDs, devido aos algoritmos de nivelamento de desgaste. Embora possa ser possível superar esses algoritmos com o uso de software especial, a maioria dos softwares "prontos para uso" não é suficiente.
Revelação
Você pode conseguir o que esse cara descreve apenas lendo todos os dados várias vezes. Isso permitirá que o próprio SSD determine se o arquivo deve ser movido. Ferramentas como SpinRite 6executadas nas configurações corretas podem ser usadas para fazer isso.
Ramhound 21/01
1

Hardware

Como já mencionado, ele garante que os arquivos sejam armazenados em unidades de alocação numeradas contiguamente.

Em mídias giratórias, como discos rígidos, isso fornece acesso mais rápido aos dados, pois o prato não precisa girar mais e as cabeças não precisam se movimentar para frente e para trás. Nos SSDs, isso não tem benefício de desempenho.

Recuperação de dados

Uma coisa a ser observada sobre a desfragmentação é que, ao colocar arquivos em unidades de alocação consecutivas, a recuperação de dados se torna mais fácil e com maior probabilidade de êxito. Quando você exclui um arquivo acidentalmente, sofre uma falha na unidade ou é atingido por um vírus, é muito menos provável que os arquivos fragmentados sejam bem-sucedidos.

Isso ocorre porque, se o arquivo é dividido em várias partes espalhadas por toda a unidade, fica difícil (geralmente impossível) descobrir quais partes vão para onde e pertencem a quais arquivos. Isso é ainda mais problemático com unidades maiores que contêm mais arquivos. Para recuperar com êxito um arquivo fragmentado, é necessário saber onde está cada parte e a ordem das mesmas, mas, se você tiver, não precisará recuperá- lo.

Se os arquivos não estiverem fragmentados, tudo o que você precisa fazer é encontrar o início do arquivo e saber o tamanho ou saber como detectar o final (por exemplo, conhecendo o formato do arquivo ou detectando quando um novo arquivo começa).

Uma maneira de ajudar na recuperação de dados é usar um sistema de arquivos mais tolerante à corrupção e que contenha melhores funções de backup e recuperação, como NTFS sobre FAT32. Infelizmente, nenhum sistema de arquivos é perfeito e até os melhores ainda estão sujeitos à perda de dados e requerem recuperação de dados de vez em quando.

Recomendações

Com um disco rígido, garantir que o disco seja desfragmentado (por exemplo, tê-lo programado para desfragmentar automaticamente sempre que o sistema estiver ocioso - o que se torna cada vez menos uma tarefa à medida que limpa as coisas) ajuda a melhorar suas chances de recuperar arquivos perdidos. Como os SSDs não são adequados para a desfragmentação, você precisará avaliar os riscos e os benefícios da desfragmentação e desgastar a unidade, fazer backups regulares ou armazenar dados críticos em um disco rígido.

Synetech
fonte
0

A desfragmentação de uma unidade pode fazer algumas coisas diferentes. Normalmente, o processo de desfragmentação procura arquivos que foram divididos em partes por qualquer motivo. Em muitos casos, isso ocorre da leitura e gravação em uma unidade ao longo do tempo. O programa de desfragmentação reúne todos os fragmentos e, em seguida, encontra um ponto no disco onde o arquivo inteiro caberá. Em alguns casos, acaba sendo apenas um jogo de shell para movimentar as coisas, criando lugares para os maiores arquivos.

Agora, algo a ser dito sobre a montagem de todos esses arquivos diz respeito ao tempo típico de "busca" da cabeça de leitura / gravação no disco. Toda vez que você precisa mover a cabeça de leitura / gravação para outro local do disco, ocorre um atraso de alguns milissegundos. Ao ler um arquivo em um único local, a cabeça de leitura / gravação não precisa se mover muito para continuar lendo o arquivo. Isso é muito mais rápido do que ir para outro local inteiramente no disco. Em alguns casos, a desfragmentação pode ser feita para otimizar o sistema operacional, colocando os arquivos do sistema acessados ​​com mais frequência perto da "zona de aterrissagem" da cabeça de leitura / direita quando ela não está executando nenhuma leitura / gravação. Em muitos casos, isso pode acelerar bastante as coisas.

Eu não vi uma ferramenta de desfragmentação por aí que tenha a capacidade de manter estatísticas sobre o número de vezes que um arquivo foi acessado, mas, se houvesse, poderia empilhar o disco primeiro com os arquivos acessados ​​com mais frequência.

Axxmasterr
fonte
0

Às vezes, seu sistema de arquivos coloca partes de um arquivo em locais diferentes no disco. Ao acessar esse arquivo mais tarde, leva mais tempo porque ele precisa ir a cada um desses locais para acessar o arquivo. Isso é chamado de fragmentação. Basicamente, você tem fragmentos de seus arquivos em diferentes locais do disco.

Ao desfragmentar o disco, você está reorganizando os arquivos no disco para que o maior número possível de arquivos seja armazenado por inteiro.

Jack
fonte
0

Depende do sistema de arquivos, do desfragmentador e do HDD / SSD.

A maioria dos arquivos será consolidada em um bloco cada. Esse é o requisito mínimo e a definição de "desfragmentador".

Os desfragmentadores mais avançados moverão os diretórios primeiro (uma vez que, em média por megabyte, são acessados ​​com mais frequência que os arquivos comuns), seguidos pelos arquivos acessados ​​recentemente. Os arquivos que não são acessados ​​por um longo período de tempo (normalmente 90 dias) às vezes são ativamente colocados mais perto do fim, para permitir buscas mais curtas por arquivos que são acessados.

Os NTFs parecem fragmentar apenas um pouco menos que o FAT, mas degradam-se mais lentamente, se houver. Alguns dos arquivos importantes não estão na frente da partição, mas perto do meio, obviamente para reduzir pela metade o tempo de acesso do pior caso. Não tenho certeza, no entanto.

Os tempos de "busca" nos SSDs são mínimos, da ordem de microssegundos. Você está olhando para os lugares errados se desfragmentar SSDs para buscas. (Um controlador SSD inteligente pode apenas atualizar ONDE os dados são movidos, em vez de movê-los, sempre que detectar o padrão "ler dados antigos + usar os mesmos dados + TRIM dados antigos", economizando nos dois ciclos de gravação e desfragmentando o tempo de execução. Não tenho certeza se algum controlador ainda o fizer.)

Pensando bem, sim, os SSDs distribuem gravações entre os chips de propósito, porque é assim que eles são mais rápidos e a fragmentação pesada pode diminuir os padrões de gravação, tornando as gravações LESS dispersas. Isso pode ser um fator a considerar se for verdade.

Sempre e regularmente, faça seus backups. Se você desfragmentar os discos para facilitar a recuperação dos dados, ESTÁ FAZENDO ERRADO!

Wurst
fonte