У меня есть Linux MIPS роутер с ядром 2.4.17. Root fs - это tmpfs, а / rom - это cramfs. Существует 4 МБ свободной памяти и 3 МБ свободной на tmpfs.
Я могу создать несколько новых пустых файлов, но следующие потерпят неудачу с «недостаточно места». Тем не менее, я могу добавить 1 МБ данных в существующий файл. Так что моя проблема в подсчете инодов.
И мои вопросы:
- Есть ли способ динамически увеличивать иноды?
- Если я не могу увеличить его динамически - где я могу увеличить его в исходниках ядра?
stat -f <mountpoint>
. Если нет, и вы можете использовать c и кросс-компиляцию в mips, вы можете сами использовать statfs () или семейные вызовы?Ответы:
Если количество инодов является вашей реальной проблемой, вы можете увеличить количество доступных инодов для файловой системы tmpfs с помощью опции монтирования nr_inodes. Если вы установите nr_inodes = 0, то иноды будут неограниченными.
Вся эта информация находится в документации ядра tmpfs .
См. Ответ Womble для примера перемонтирования. Для загрузки вам нужно отредактировать ваш fstab или что-то еще, что делает это для вашей конкретной сборки Linux, чтобы будущие монтирования обрабатывались правильно.
источник
Вы можете установить количество доступных inode в tmpfs с помощью
nr_inodes
опции mount. Чтобы сделать это вживую, вы можете просто запустить:Я подозреваю, что установка этого числа очень, очень большой приведет к большому потреблению памяти, поэтому будьте осторожны.
источник