Есть ли ограничение на количество файлов в UNIX в файловой системе?
3 ответа
Это зависит от типа файловой системы. Если вы используете ext4 с параметрами по умолчанию, то вы можете иметь максимум:
- Всего 4 миллиарда файлов.
- 64000 подкаталогов в одном каталоге.
- Максимум 16 ТБ для одного файла.
Некоторые из них являются настраиваемыми и, очевидно, ограничены фактическим объемом памяти на вашем носителе. Лучше всего прочитать документацию для вашего типа файловой системы.
Если вы говорите о количестве файловых дескрипторов, которые процесс может открыть одновременно, то это зависит от вашей системы. ulimit -a
сообщит вам о системе Linux и, скорее всего, по умолчанию будет 1024.
Примечание: цифры взяты со страницы Википедии ext4.
Это зависит от файловой системы и контейнера, к которому вы обращаетесь - в каталоге, на томе. Пожалуйста, обратитесь к этой ссылке для получения подробной информации о файловой системе EXT3.
Максимальное количество inode (и, следовательно, максимальное количество файлов и каталогов) устанавливается при создании файловой системы. Если V - это размер тома в байтах, то число inode по умолчанию задается V/213 (или числом блоков, в зависимости от того, что меньше), а минимальное - V/223. Значение по умолчанию было сочтено достаточным для большинства приложений. Максимальное количество подкаталогов в одном каталоге равно 32000.
Подобные параметры также определены для других файловых систем.
Если вас беспокоят ограничения, забудьте о них, используя ZFS.
Цитируется из ZFS FAQ:
Какие ограничения есть у ZFS?
Ограничения ZFS разработаны так, что они никогда не встретятся ни в одной практической операции. ZFS может хранить 16 экзабайт в каждом пуле хранения, файловой системе, файле или атрибуте файла. ZFS может хранить миллиарды имен: файлы или каталоги в каталоге, файловые системы в файловой системе или снимки файловой системы. ZFS может хранить триллионы элементов: файлы в файловой системе, файловые системы, тома или снимки в пуле.