Warum dauert das Löschen einer großen Datei länger?

30

Ich verstehe, dass das Ausführen rmeiner Datei die Verknüpfung einfach aufhebt und den Speicherplatz im Dateisystem als frei markiert. Es sollte dann folgen, dass das Löschen einer Datei immer ungefähr dieselbe Zeit dauert (dh die Löschgeschwindigkeit ist proportional zur Anzahl der Dateien, nicht zur Größe der Dateien).

Warum dauert das Löschen einer 15-GB-Datei mit einem einfachen rm file.tar.gzBefehl mehr als eine Minute ?

Tom Marthenal
quelle
5
Welches Dateisystem?
Shane Madden
8
Auf vielen Dateisystemen muss jeder "Block" freien Speicherplatzes "markiert" werden. Große Dateien haben mehr Blöcke. Dies gilt jedoch nicht für alle Dateisysteme!
Chris S
@ ShaneMadden gute Frage; ext4 im Moment, aber ich habe es auch bei anderen ext # bemerkt.
Tom Marthenal
Aus diesem Grund sollte jede Datei über ein eigenes virtualisiertes Dateisystem verfügen, damit die Inodes blindschnell gelöscht werden können! <JEST>
thinice
1
Welches Dateisystem würde in diesem Fall besser abschneiden? Ich verwende gerade ein tragbares Laufwerk, um große VM-Festplatten von einem Computer auf einen anderen zu verschieben, und meine Ewigkeit macht mich verrückt.
motobói

Antworten:

39

Es dauert eine konstante Menge an Zeit , um einen zu entkoppeln einzelnen Block , aber die Dateien über die Größe eines einzelnen Blöcke bestehen aus mehreren Blöcken miteinander verbunden, und je größer die Datei desto größer ist die Menge von Blöcken , die miteinander verbunden sind.

Ignacio Vazquez-Abrams
quelle
14
<BSD Zealot> murmeln murmeln UFS murmeln murmeln soft updates murmeln murmeln Sachen löschen schneller murmeln murmeln Pfannkuchen! </ BSD Zealot>
voretaq7
XFS löscht große Dateien sehr schnell, aber eine große Anzahl kleiner Dateien sehr langsam.
Andrew
4
Eine Datei verwendet immer nur einen Inode . Es werden mehrere Datenblöcke verwendet.
Simon Richter
2
Ein Block, um sie alle zu regieren, ein Block, um sie zu finden, ein Block, um sie alle zu bringen und sie in der Dunkelheit zu binden.
Rqomey