Explorer.exe обращается к $Mft (главная таблица файлов NTFS) и вызывает чрезмерную загрузку жесткого диска в каталоге, содержащем ~10 000 000 файлов.

Explorer.exe обращается к $Mft (главная таблица файлов NTFS) и вызывает чрезмерную загрузку жесткого диска в каталоге, содержащем ~10 000 000 файлов.

У меня есть внутренний жесткий диск, содержащий каталог, содержащий ряд папок, которые содержат в общей сложности около 10 миллионов небольших текстовых файлов. Всякий раз, когда я открываю этот каталог в проводнике Windows, жесткий диск сходит с ума и звучит так, будто у него сердечный приступ.

Монитор ресурсов показывает, что это связано с доступом к главной таблице файлов NTFS на диске со скоростью примерно 11,5 МБ/с (см. снимок экрана ниже):

введите описание изображения здесь

Индексация была отключена для этого каталога и всех его подкаталогов, поскольку известно, что индексация дисков и большое количество мелких файлов являются нестабильной комбинацией. Аналогично, каталог содержит только пару папок (в каждой из которых находится большое количество файлов), поэтому ни один из файлов, о которых идет речь, никогда не отображается на экране.

Таким образом, я немного озадачен тем, почему происходит это интенсивное чтение. Это замедляет любые другие процессы, которые работают с жестким диском, почти останавливая их, когда это происходит, поэтому я недавно начал перемещаться по диску и его содержимому через командную строку/PowerShell, что, по какой-то причине, похоже, не вызывает безумного чтения NTFS.

Я не особо разбираюсь в технологиях и не знаю подробностей того, как Windows 7 обращается к дискам для отображения файлов и папок, поэтому у меня есть пара вопросов:

  • Почему происходит обращение к главной таблице файлов NTFS, хотя ни один из файлов, о которых идет речь, не отображается на экране и ни один из них не открывается?

  • Это абсолютно необходимо?

  • Если нет, есть ли способ отключить его? Если да, то какие негативные последствия это может иметь?

  • Существует ли более эффективный (с точки зрения снижения износа диска и ненужного доступа к таблице файлов) способ создания каталога, единственной целью которого является размещение большого количества файлов?

Дополнительная информация: Диск исправен (ошибок SMART нет, CrystalDiskInfo сообщает об отсутствии проблем) и не является загрузочным.

решение1

Хороший способ хранить такое количество файлов — добавить в них некоторую структуру каталогов.

Например, см. «алгоритм», описанный здесь:https://serverfault.com/a/95454/5109

Связанный контент