Почему удаление большого файла занимает больше времени?


30

Насколько я понимаю, запуск rmфайла просто отменяет связь, помечая пространство как свободное в файловой системе. Из этого следует, что удаление одного файла всегда занимает примерно одинаковое количество времени (т. Е. Скорость удаления пропорциональна количеству файлов, а не размеру файлов).

Так почему же удаление файла размером 15 ГБ занимает более минуты с простым rm file.tar.gz?


5
Какая файловая система?
Шейн Мэдден

8
Во многих файловых системах каждый «блок» свободного пространства должен быть «помечен» свободным. Большие файлы имеют больше блоков. Это не относится ко всем файловым системам!
Крис С

@ShaneMadden хороший вопрос; ext4 сейчас, но я заметил это и на других ext #.
Том Мартенал

Вот почему каждый файл должен иметь свою собственную виртуализированную файловую систему, чтобы inode можно было быстро стирать вслепую! <JEST>
худое

1
Какая файловая система будет работать лучше в этом случае? Я сейчас использую портативный привод для перемещения больших виртуальных дисков с одной машины на другую, а работа с компьютером навсегда сводит меня с ума.
motobói

Ответы:


39

Отсоединение одного блока занимает постоянное количество времени , но файлы, размер которых превышает размер одного блока, состоят из нескольких связанных друг с другом блоков, и чем больше размер файла, тем больше количество связанных блоков.


14
<BSD Zealot> Mumble Mumble UFS Mumble Мягкие обновления Mumble Mumble Удаляет вещи быстрее Mumble Mumble блины! </ BSD Zealot>
voretaq7

XFS удаляет большие файлы очень быстро, но большое количество маленьких файлов очень медленно.
Эндрю

4
Один файл всегда будет использовать только один индекс . Он использует несколько блоков данных.
Саймон Рихтер

2
Один блок, чтобы управлять ими всеми, один блок, чтобы найти их, Один блок, чтобы привести их всех и в темноте связать их.
Rqomey
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.