Могу ли я исчерпать место на диске, создав очень большое количество пустых файлов?

Я только что просмотрел этот пост и увидел, что вы, как и я, боретесь с ответом на этот вопрос. Вот что исправило это для меня:

Войдите в alsamixer и настройте все так, как вы хотите, затем выйдите и введите следующее:

sudo alsactl store

Это сохранит текущую конфигурацию alsamixer, и он должен сохранить конфигурацию.

36
21.07.2017, 13:50
4 ответа

Чистый логический аргумент:

Имя файла состоит из не равного -нулевому количеству байтов. Даже при теоретическом максимальном сжатии в гипотетической файловой системе, предназначенной для обеспечения абсолютного максимального количества имен файлов, каждое имя файла все равно будет потреблять по крайней мере один бит где-то на вашем физическом диске. Вероятно, больше, но «1 бит на файл» — это тривиальный минимум.

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

Итак, да. В конце концов, у вас закончится место, независимо от того, какое хранилище вы используете, если вы будете продолжать добавлять пустые файлы. Очевидно, что вы иссякнете намного раньше, чем максимум, рассчитанный таким образом, но вы исчерпаете.

7
20.08.2021, 11:36

Просто нет, но вы можете исчерпать индексные дескрипторы в Linux, что будет равносильно нехватке места.

вы можете попробовать что-то подобное в своей оболочкеn=0; while :; do touch $n; let n=n+1; done

Просто убедитесь, что вы запускаете его на виртуальной машине, иначе у вас очень быстро закончатся иноды.

0
20.08.2021, 11:36

Для создания пустых файлов используются следующие:

  • иноды, по одному на файл;
  • дополнительные записи каталога, также по одной на файл, но объединенные.

Количество доступных инодов часто определяется при создании файловой системы и не может быть изменено. (Некоторые файловые системы, такие как Btrfs или XFS, динамически выделяют иноды ). Это то, что измеряется df -i. Когда у вас закончатся индексные дескрипторы, вы не сможете создавать новые файлы или каталоги, даже если у вас есть свободное место на диске.

Записи каталога также занимают свободное место на диске. Вы можете увидеть это, взглянув на размер каталога :, он всегда кратен размеру блока, а когда каталог содержит много файлов, его размер увеличивается. Если у вас закончилось место на диске, вы не сможете создавать новые файлы или каталоги в «заполненном» каталоге (, то есть , где добавление нового файла потребует выделения нового блока ), даже если у вас есть доступные иноды.

Так что да, можно исчерпать место на диске, используя только пустые файлы.

26
20.08.2021, 11:36

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

(ответ -в -комментарий -Баарда Копперуда)

0
20.08.2021, 11:36

Теги

Похожие вопросы