LINUX.ORG.RU

Какое максимальнов возможно количество подкаталогов в одном каталоге на EXT4?

 


0

3

Хотел сгенерировать файловую структуру данных для нагрузочного тестирования одного проекта. Надо было протестировать проект на 100 000 объектах. Один объект размещается в файлах, расположенных в отдельной поддиректории основной директории.

В процессе генерации обнаружилось, что создать более 31 998 поддиректорий невозможно.

Полез искать, какие ограничения на количество файлов/поддиректорий в одной директории EXT4. И что-то нигде эту информацию найти не могу. Ограничение на общее количество файлов есть, а вот на количество файлов/поддиректорий в директории - инфа какая-то противоречивая.

Вопрос 1: какое же точно количество файлов/поддиректорий в одной директории возможно на ФС EXT4? Как его можно посмотреть/высчитать?

Вопрос 2: можно ли неразрушая перенастроить файловую систему EXT4, чтобы она разрешила хранить более чем 32 000 файлов/поддиректорий в одной директории?

★★★★★

Вроде нет ограничений.

https://en.wikipedia.org/wiki/Ext4#Features

Unlimited number of subdirectories
Ext4 allows an unlimited number of subdirectories. (In ext3 a directory can have at most 32,000 subdirectories.)[17] To allow for larger directories and continued performance, ext4 turns on HTree indexes (a specialized version of a B-tree) by default. This feature is implemented in Linux 2.6.23. In ext3 HTrees can be used by enabling the dir_index feature.

ford1813
()

Нету такого ограничения, ищите проблему гдето в другом месте. Регулярно на некоторых серверах у томката сносит крышу и он генерит по 10 000 000 и больше файлов в своем темпе.

zaz ★★★★
()
Ответ на: комментарий от ford1813

А я щас вспоминаю, что вроде бы раздел раньше был ext3, а потом я его конвертировал в ext4. Из-за этого может возникнуть ограничение в 32000 подкаталогов?

Xintrea ★★★★★
() автор топика

Вопрос 1: какое же точно количество файлов/поддиректорий в одной директории возможно на ФС EXT4? Как его можно посмотреть/высчитать?

В сорцах можно глянуть.

Ygor ★★★★★
()

Может что то из серии Количество одновременно открытых файловых дескрипторов Не дает создать больше 31 998

ulimit ? Нет ?

sova ★★
()

Лично делал тесты разных файловых систем и создавал 100000 (сто тысяч) файлов в одной директории, всё прекрасно работало на ext3,ext4,reiserfs,xfs,jfs. На ntfs тоже, но медленнее, а вот на ext2 очень медленно, т.к. тогда не было btree.

legolegs ★★★★★
()
Ответ на: комментарий от legolegs

всё прекрасно работало на ext3

Просто dir_index уже довольно давно по дефолту для ext3 ставится, со времён 7го дебиана уж точно.

redgremlin ★★★★★
()
Ответ на: комментарий от Xintrea

Создай полноценную ex4 в файле и проверь, будет ли разница.

anonymous
()
Ответ на: комментарий от Xintrea

Хосспади, мало того, что на википедии забанен, так ведь когда её прям сюда принесли всё равно читать отказываешься.
Проверить наличие dir_index можно так — tune2fs -l /dev/yourpart | grep features
Включить при его отсутствии — tune2fs -O dir_index /dev/yourpart
При его наличии и невозможности создать 100500 подкаталогов постить сюда
1) полный вывод tune2fs -l
2) cat /etc/os-release
3) uname -a

redgremlin ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.