Por que a exclusão de um arquivo grande demora mais?


30

Meu entendimento é que rodar rmem um arquivo simplesmente o desvincula, marcando o espaço como livre no sistema de arquivos. Deverá então seguir que a exclusão de um arquivo sempre leva aproximadamente a mesma quantidade de tempo (ou seja, a velocidade da exclusão é proporcional ao número de arquivos, não ao tamanho dos arquivos).

Então, por que a exclusão de um arquivo de 15 GB demora mais de um minuto com um simples rm file.tar.gz?


5
Qual sistema de arquivos?
Shane Madden

8
Em muitos sistemas de arquivos, cada "bloco" de espaço livre deve ser "marcado" como livre. Arquivos grandes têm mais blocos. Isso não é verdade para todos os sistemas de arquivos!
Chris S

@ShaneMadden boa pergunta; ext4 agora, mas eu notei isso em outros ext # 's também.
Tom Marthenal

É por isso que cada arquivo deve ter seu próprio sistema de arquivos virtualizado, para que os inodes possam ser apagados às cegas super rápido! <JEST>
thinice

11
Qual sistema de arquivos teria melhor desempenho nesse caso? Agora, estou usando uma unidade portátil para mover grandes discos de VM de uma máquina para outra e a demora para sempre está me deixando louco.
Motobói

Respostas:


39

Leva um tempo constante para desvincular um único bloco , mas os arquivos além do tamanho de um único bloco consistem em vários blocos vinculados, e quanto maior o arquivo, maior a quantidade de blocos vinculados.


14
<BSD Zealot> mumble mumble UFS mumble mumble atualizações macias mumble mumble excluir coisas panquecas mumble mumble mais rápidas ! </ BSD Zealot>
voretaq7

O XFS exclui arquivos grandes muito rapidamente, mas um grande número de arquivos pequenos muito lentamente.
Andrew

4
Um arquivo sempre usará apenas um inode . Ele usa vários blocos de dados.
Simon Richter

2
Um quarteirão para governar todos eles, um quarteirão para encontrá-los, Um quarteirão para trazê-los todos e na escuridão atá-los.
Rqomey
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.