#linux #macos #windows-7 #ubuntu #filesystems
#linux #macos #windows-7 #ubuntu #файловые системы
Вопрос:
Мне интересно, каково максимальное количество файлов, которые могут присутствовать в одной папке, в файловых системах, используемых всеми упомянутыми распространенными операционными системами. Мне нужна эта информация, чтобы определить наименьший общий знаменатель, чтобы папка, которую я создаю, могла быть открыта и доступна в любой ОС.
Ответ №1:
В Windows (при условии NTFS): 4 294 967 295 файлов
В Linux (при условии ext4): также 4 миллиарда файлов (но это может быть меньше с некоторыми пользовательскими таблицами индексов)
В Mac OS X (при условии HFS): 2,1 миллиарда
Но я поместил около 65000 файлов в один каталог, и я должен сказать, что простая загрузка списка файлов может убить обычный компьютер.
Комментарии:
1. В некоторых сценариях вы получаете большую производительность, если храните все файлы в одной папке (это было измерено на NTFS с файлами 400K в папке).). Эти сценарии включают различные серверы, которые считывают каталог только один раз, а затем просто открывают и редко создают новые файлы. Тогда операция открытия выполняется быстрее в одном каталоге, чем в подкаталогах.
2. Мне просто любопытно, не могло бы быть быстрее, если бы содержимое этих файлов было помещено в один файл базы данных?
3. скорее всего, no — DBMS добавляет дополнительный уровень передачи данных. СУБД, как правило, плохо подходят для большого количества больших двоичных объектов.
4. Также не забывайте, что количество индексов также ограничивает количество файлов.
5. Что означает «убить средний ПК»? Каковы фактические последствия?
Ответ №2:
Это зависит от файловой системы. Наименьшим общим знаменателем, вероятно, является FAT32, который допускает только 65 534 файла в каталоге.
Это цифры, которые я смог найти:
- FAT16 (старый формат, можно игнорировать): 512
- FAT32 (все еще часто используется, особенно на внешних носителях): 65 534
- NTFS: 4 294 967 295
- ext2 / ext3 (Linux): зависит от конфигурации во время форматирования, до 4 294 967 295
- HFS (Mac): «до 2,1 миллиарда»
Ответ №3:
Большинство современных ОС не имеют верхнего предела или очень высокого верхнего предела. Однако производительность обычно начинает снижаться, когда у вас есть что-то порядка 10 000 файлов; хорошей идеей будет разбить ваш каталог на несколько подкаталогов до этого момента.
Комментарии:
1. Почти все FS имеют верхний предел, чаще всего максимальное количество файлов для FS, хотя они могут быть смехотворно высокими. ZFS допускает максимум 2 ^ 48 файлов, для ext2 / 3 это 2 ^ 32, а Btrfs имеет максимум 2 ^ 64. Я думаю, нужно вычесть 1 из всего этого для корневого каталога 😉
Ответ №4:
Из того, что я знаю для Windows 7, у вас может быть неограниченное количество файлов в каталоге. НО чем больше файлов у вас на томе, тем хуже будет производительность для этого тома.