Могу ли я увеличить количество инодов в Linux?

9

У меня есть Linux MIPS роутер с ядром 2.4.17. Root fs - это tmpfs, а / rom - это cramfs. Существует 4 МБ свободной памяти и 3 МБ свободной на tmpfs.

Я могу создать несколько новых пустых файлов, но следующие потерпят неудачу с «недостаточно места». Тем не менее, я могу добавить 1 МБ данных в существующий файл. Так что моя проблема в подсчете инодов.

И мои вопросы:

  1. Есть ли способ динамически увеличивать иноды?
  2. Если я не могу увеличить его динамически - где я могу увеличить его в исходниках ядра?
влад
источник
Что говорит df -i?
Уомбл
У df в busybox нет опции -i
vlad
vlad: Как насчет команды stat, есть команда stat, которая поддерживает опцию -f? тогда просто stat -f <mountpoint>. Если нет, и вы можете использовать c и кросс-компиляцию в mips, вы можете сами использовать statfs () или семейные вызовы?
Кайл Брандт

Ответы:

5

Если количество инодов является вашей реальной проблемой, вы можете увеличить количество доступных инодов для файловой системы tmpfs с помощью опции монтирования nr_inodes. Если вы установите nr_inodes = 0, то иноды будут неограниченными.

Вся эта информация находится в документации ядра tmpfs .

См. Ответ Womble для примера перемонтирования. Для загрузки вам нужно отредактировать ваш fstab или что-то еще, что делает это для вашей конкретной сборки Linux, чтобы будущие монтирования обрабатывались правильно.

Кайл Брандт
источник
7

Вы можете установить количество доступных inode в tmpfs с помощью nr_inodesопции mount. Чтобы сделать это вживую, вы можете просто запустить:

mount -o remount,nr_inodes=<bignum> /tmp

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

ombble
источник