Dlaczego usuwanie dużego pliku trwa dłużej?

30

Rozumiem, że uruchamianie rmpliku po prostu go rozłącza, oznaczając wolne miejsce w systemie plików. Powinno zatem wynikać z tego, że usunięcie jednego pliku zawsze zajmuje mniej więcej tyle samo czasu (tzn. Szybkość usuwania jest proporcjonalna do liczby plików, a nie ich wielkości).

Dlaczego więc usunięcie pliku 15 GB zajmuje tylko minutę rm file.tar.gz?

Tom Marthenal
źródło
5
Jaki system plików
Shane Madden
8
W wielu systemach plików każdy „blok” wolnego miejsca musi być „oznaczony” jako wolny. Duże pliki mają więcej bloków. Nie dotyczy to wszystkich systemów plików!
Chris S
@ShaneMadden dobre pytanie; ext4 w tej chwili, ale zauważyłem to również na innych ext #.
Tom Marthenal,
Dlatego każdy plik powinien mieć swój własny zwirtualizowany system plików, aby i-węzły mogły zostać superszybko wyczyszczone! <JEST>
cienkie
1
Który system plików działałby lepiej w tym przypadku? Korzystam teraz z przenośnego napędu, aby przenosić duże dyski VM z jednej maszyny na drugą, a rm biorący wieczność doprowadza mnie do szału.
motobói

Odpowiedzi:

39

Odłączenie pojedynczego bloku zajmuje cały czas , ale pliki przekraczające rozmiar jednego bloku składają się z wielu połączonych ze sobą bloków, a im większy plik, tym większa liczba połączonych bloków.

Ignacio Vazquez-Abrams
źródło
14
<BSD Zealot> mamrocze mamrocze mamrocze UFS mamrocze mamrocze miękkie aktualizacje mamrocze mamraj usuń rzeczy szybciej mamrocze mamrocze naleśniki! </ BSD Zealot>
voretaq7
XFS bardzo szybko usuwa duże pliki, ale duża liczba małych plików bardzo powoli.
Andrew
4
Jeden plik zawsze będzie używał tylko jednego i- węzła . Używa wielu bloków danych.
Simon Richter,
2
Jeden blok, aby rządzić nimi wszystkimi, jeden blok, aby je znaleźć, Jeden blok, aby przynieść je wszystkie, a w ciemności związać je.
Rqomey,