3

Будет ли диск 100 ГБ с 1000000 файлами занимать больше времени, чем диск 100 ГБ с 100 файлами при запуске fsck?

1 ответ1

8

Это зависит от файловой системы и параметров, которые вы используете с fsck.

Что проверяет и пытается fsck дает довольно подробное объяснение того, что делает fsck при вызове без переключателей.

Некоторые проверки занимают постоянное количество времени (например, проверка суперблока), многие из них зависят от количества инодов, которые fsck должен обработать (например, проверки количества ссылок), другие - от размера файловой системы (например, обычные данные блок проверки).

Без ключа -c fsck не проверяет содержимое обычных файлов, поэтому размер файлов не имеет значения. Даже при проверке поврежденных блоков время выполнения увеличивается только с размером файловой системы. Какая часть раздела занята, не влияет на время выполнения. 1

Число inode файловой системы является постоянным, то есть определяется во время создания. Метаданные каждого файла хранятся в одном из таких inode. Согласно ext4, неиспользуемые inode помечаются как таковые в ext4, но не в ext3. Таким образом, время выполнения fsck увеличивается с количеством файлов в ext4, но является постоянным (и высоким) в ext3.

Следующий рисунок иллюстрирует это:

сравнение

Обратите внимание, что различные количества файлов представлены разными цветами. Графики для ext3 с 2.1 миллионами, 100 тысячами и даже нулевыми файлами идентичны. График для ext4 с файлами 2.1M и 100k соответственно показывает значительную разницу.

Напротив, время выполнения увеличивается с числом inode с ext3, в то время как неиспользуемый inode не влияет на время выполнения с ext4.


1 Проверено опытным путем, запустив fsck -c на пустом разделе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .