Главная
» LINUX
»
Как увеличить размер папки /tmp в Linux
Как увеличить размер папки /tmp в Linux
Если Linux сообщает, что /tmpкаталог заполнен, не изменяйте его размер вслепую. Сначала проверьте, какая файловая система фактически используется для этого каталога. Если /tmpэто монтирование tmpfs , вы можете немедленно увеличить его лимит размера с помощью перемонтирования и зафиксировать этот лимит в файле конфигурации /etc/fstab. Если же это часть файловой системы ext4, XFS, Btrfs или другой файловой системы, использующей диск, size=опция tmpfs не применяется.
Эта findmntкоманда определяет файловую систему, содержащую файл /tmp, а dfпоказывает его размер и текущее использование. В документации FindMnt рекомендуется использовать опцию target для определения файловой системы по указанному пути.
Если FSTYPEэто tmpfs, продолжайте выполнять описанные ниже шаги. Если это что-то вроде ext4, xfs, или btrfs, перейдите к разделу, посвященному резервному копированию на диск.
/tmpПеред изменением ограничения размера файловой системы tmpfs убедитесь, что это действительно точка монтирования tmpfs.
Временно увеличить значение tmpfs /tmp
Отмонтировать не нужно /tmp. Linux tmpfs поддерживает изменение максимального размера во время повторного монтирования без удаления уже хранящихся там файлов. Например, чтобы увеличить лимит до 5 ГиБ, выполните:
sudo mount -o remount,size=5G /tmp
Затем проверьте результат:
df -h /tmp
В документации ядра Linux к tmpfs указано, что size=лимит можно изменить при перемонтировании. Значение, например, 5Gпредставляет собой потолок емкости, а не 5 ГБ оперативной памяти, зарезервированных немедленно. tmpfs потребляет память по мере хранения файлов и может использовать файл подкачки, когда он доступен.
Не устанавливайте неоправданно большой лимит. Нагрузка, заполняющая большой tmpfs, может создать серьёзную проблему с памятью. Кроме того, подобное перемонтирование является временным: после перезагрузки восстанавливается исходная конфигурация загрузки, если вы не измените параметры постоянного монтирования.
Перемонтирование изменяет ограничение размера активной файловой системы tmpfs без отмонтирования /tmp.
Сделайте больший размер /tmp постоянным.
Используйте этот метод только после подтверждения того, что /tmpречь идёт о файловой системе tmpfs. /etc/fstabПеред использованием сделайте резервную копию:
sudo cp /etc/fstab /etc/fstab.backup
Откройте файл с помощью предпочитаемого вами редактора с правами root, например:
sudoedit /etc/fstab
Если /tmpстрока tmpfs уже присутствует, сохраните её текущие параметры безопасности и совместимости и измените только её size=значение. Если ваша система использует tmpfs-backed по умолчанию в systemd /tmpи в документации нет /tmpзаписи fstab, systemd указывает, что /etc/fstabзапись можно использовать для изменения параметров монтирования tmpfs. Типичный пример:
Этот mode=1777параметр сохраняет обычные права доступа для записи во временные каталоги для всех пользователей с установленным битом "sticky". Не добавляйте параметры, например, только для изменения размера; изменение несвязанного поведения монтирования может нарушить работу программного обеспечения, которое ожидает существующую конфигурацию. См. руководство по API файловых системnoexec systemd и документацию fstab от разработчика .
Для установления постоянного ограничения задайте соответствующий параметр size=в существующей или предполагаемой конфигурации tmpfs /tmp.
В дистрибутивах на основе systemd после редактирования необходимо перезагрузить сгенерированные модули fstab:
sudo systemctl daemon-reload
Если файловая система уже смонтирована как tmpfs, вы можете немедленно /tmpприменить новые параметры с помощью команды:fstab
sudo mount -o remount /tmp
В противном случае перезагрузите систему в удобное время. После этого проверьте параметры монтирования и емкость:
После внесения изменений проверьте тип файловой системы, параметры монтирования и отображаемую емкость.
А что, если /tmp — это не tmpfs?
Если findmntотображается, что /tmpкаталог находится в корневой файловой системе или другой файловой системе, использующей диск, то независимого ограничения на увеличение размера tmpfs нет. Вам необходимо освободить место или расширить базовую файловую систему, раздел или логический том. Другой вариант — указать конкретной программе путь к более крупному временному каталогу, если она его поддерживает TMPDIR:
В рекомендациях systemd по работе с временными каталогами отмечается, что программное обеспечение должно использовать их, $TMPDIRкогда они заданы, и что они /var/tmp, как правило, лучше подходят для больших объемов временных данных, которые должны сохраняться после перезагрузки.
Если вы по-прежнему получаете сообщение «Нет места на устройстве»
Проверьте использование inode, а также использование байтов:
df -h /tmp
df -i /tmp
В файловой системе могут закончиться иноды, даже если в ней еще есть свободные байты. Также выясните, какое приложение создает временные данные, а не постоянно увеличивает их размер /tmp. Изменение размера целесообразно, когда обычная рабочая нагрузка действительно требует больше временной емкости, но неконтролируемый рост обычно лучше исправлять на его источнике.