Todos os utilizadores do Windows estão familiarizados com o facto de existir uma desfragmentação do disco. É necessário que o disco rígido funcione rapidamente, e é necessário desfragmentar o disco no qual o sistema operativo está instalado. O sistema de ficheiros Ext4 do Linux não é propenso à fragmentação. Mas, na prática, sabe-se que em caso de trabalho prolongado no sistema, acumula-se alguma fragmentação. A seguir, vamos falar em pormenor sobre como desfragmentar corretamente um disco em Linux. Para isso, vamos analisar o exemplo do sistema de ficheiros Ext4.
O que é a fragmentação? Vejamos a teoria: um disco rígido é composto por um grande número de pequenos sectores, cada um armazenando um pequeno pedaço de dados. Os ficheiros grandes são divididos em vários fragmentos mais pequenos.
Mas o Ext4 não se fragmenta como outros sistemas de ficheiros porque atribui espaço após o ficheiro escrito. E mesmo que ocorra fragmentação, ele tenta mover o arquivo para o espaço livre. A fragmentação ocorre quando o sistema de ficheiros está cheio, mas raramente é esse o caso.
Os discos SSD não precisam de desfragmentação. Não existem peças móveis.
Quando um utilizador escreve um ficheiro num sistema FAT ou NTFS, é atribuída uma determinada quantidade de recursos para esta operação e, em seguida, são escritos os ficheiros seguintes. Se for necessário atualizar o ficheiro e acrescentar-lhe informações, serão utilizados outros sectores noutra parte do disco.
Quando existe um grande número de ficheiros deste tipo, o ficheiro pode ser distribuído por todo o disco, o que significa que, no caso de uma operação como a leitura, será necessário deslocar a cabeça de leitura, o que diminuirá o desempenho. É disto que se trata a fragmentação.
Utilize o utilitário fsck
para avaliar o grau de fragmentação do disco. Passe a opção -f
. Use a opção -n para evitar grandes alterações no sistema de ficheiros:
$ sudo fsck -fn /dev/sdb1
/dev/sdb1
é a partição de verificação. Não execute a verificação num sistema montado, pois irá encontrar falsos erros; se não forem executadas quaisquer acções no sistema de ficheiros, não haverá danos. O utilitário e4defrag
irá ajudá-lo a efetuar a desfragmentação, está localizado na pasta e2fsprogs
.
Se ainda não tiver este conjunto de utilitários instalado, instale-o com o comando:
$ sudo apt install e2fsprogs
De seguida, está disponível a desfragmentação da partição pretendida. O mesmo /dev/sdb1
. Vamos montar a partição antes da desfragmentação:
$ sudo mount /dev/sdb1 /mnt
De seguida, desfragmentação Ext4:
$ sudo e4defrag /dev/sdb1
De seguida, pode verificar novamente a fragmentação. Antes disso, desmontar a partição. Fragmentação 0%:
$ sudo fsck -fn /dev/sdb1
É isso. Não perca seu tempo desfragmentando apenas unidades SSD. Elas não precisam disso.