На моем внешнем жестком диске с файловой системой ext3 я удалил 6 файлов по 7,2 ГБ каждый. Удаление (rm *
) заняло удивительно много времени, минуту или около того. Поскольку необходимо только отсоединить записи файлов от файловой системы, почему удаление небольшого количества больших файлов занимает больше времени, чем удаление небольшого количества маленьких файлов?
1 ответ
При удалении файла файловая система ext3 фактически обнуляет указатели блоков в inode. Чем больше файл, тем больше блоков и больше указателей блоков, поэтому операция удаления занимает больше времени для больших файлов, чем для меньших.
Это поведение отличается от обоих ext2, которые просто обнуляют индекс и оставляют блоки, содержащие указатели блоков, нетронутыми (но помечены как свободные), и ext4, который использует экстенты (и, поскольку экстенты являются гораздо более компактной структурой, имеет гораздо лучшие удалить производительность, которая замедляется в зависимости от фрагментации файла, а не от его размера).