Яку максимальну кількість файлів може містити файлова система?


34

З огляду на поточну структуру запису каталогу у файловій системі ext4 на Ubuntu, яку максимальну кількість файлів може містити файлова система?

Який загальний метод обчислення максимальної кількості файлів, які може містити файлова система?

Відповіді:


37

У Ext4 є теоретичний ліміт у 4 мільярди файлів, який обмежений розміром номера inode, який він використовує для ідентифікації кожного файлу (ext4 використовує 32-бітні числа inode). Однак, як каже Джон, ext4 розподіляє таблиці inode статично, тому фактичне обмеження встановлюється при створенні файлової системи.

Команда df показує вам кількість вільних входів у вашій файловій системі:

$ df -i

Filesystem        iused     ifree  %iused  Mounted on
/dev/disk0s3   55253386  66810480    45%   /
/dev/disk1s3   55258045  66805821    45%   /Volumes/Clone

Ext4 також підтримує необмежену кількість підкаталогів у каталозі, хоча за замовчуванням може бути обмежено 64 000. Це можна настроїти - дивіться статтю ext4 у розділі Kernel Newbies .

Для отримання додаткової інформації див . Нову файлову систему ext4: поточний стан та плани на майбутній симпозіум Linux 2007.


9

Сама по собі не існує; це залежить. Коли ви створюєте файлову систему ext4, ви визначаєте розмір таблиці inode , яка, в свою чергу, регулює загальну кількість каталогів або файлів, якими файлова система може вмістити одночасно.


8
ви можете запустити tune2fs -l /path/to/deviceі шукати значення підрахунку Inode, щоб знайти межу для даної файлової системи

1
Чи можемо ми збільшити кількість Inode? Наскільки я знаю, узори зберігаються як зв'язаний список, тому це так само, як додавати більше вузлів до пов’язаного списку. Я думаю, питання зводиться до того, якою може бути максимальна довжина пов'язаного списку?

4
У ext4 таблиця inode статично розподіляється при створенні файлової системи. Єдиний спосіб її збільшення - відтворити файлову систему. Параметри -N або -i використовуються для встановлення кількості створених вузлів.

1
Варто також відзначити, що каталоги - це файли, і їх слід вважати такими.
dmckee

1
Як і символьні посилання. Я не впевнений, чи враховуються пристрої, FIFO та розетки чи ні.
ефемія

1

Не Ubuntu, але в Redhat Linux базові команди, такі як find fail, з "Занадто багато помилок аргументів" при запуску проти каталогу, що містить 3 мільйони файлів. ls запускається успішно, якщо не включені параметри, але виходить з тієї ж помилки, як тільки параметри фільтра додаються.

Припускаючи, що надійність таких основних команд є обов'язковою вимогою, я б припустив, що 3 мільйонів файлів - це занадто багато.


3
Це не обмеження файлової системи.
user9517 підтримує GoFundMonica

1
Влучне зауваження! FS може підтримати його, але інструменти матимуть все більші труднощі з цим.
Csaba Toth
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.