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

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