Ошибки

No space left on device, а место на диске есть: кончились inodes

Место на диске есть, а файлы не создаются. Значит, кончились inodes — записи, которые нужны каждому файлу. Найдите папку с огромным числом мелких файлов и очистите её.

Обновлено 10.10.2026≈ 3 мин чтения
Содержание 7

Что случилось

Для каждого файла и папки система заводит на диске служебную запись — inode. Сколько таких записей будет, решается при создании диска, и потом их число не меняется. Если на диске миллионы крошечных файлов, записи кончаются раньше места. Новый файл создать уже нельзя, и программы получают ту же ошибку, что и при полном диске:

No space left on device

Шаг 1. Проверьте inodes

Команды на этой странице вводятся на сервере: подключитесь к нему по SSH (как подключиться) и набирайте их в том же окне.

df -i

Пример ответа (строки tmpfs пропущены):

Filesystem      Inodes   IUsed IFree IUse% Mounted on
/dev/vda1     1310720 1310720     0  100% /
  • Inodes — сколько записей всего.
  • IUsed и IFree — сколько занято и свободно.
  • IUse% — сколько занято в процентах.

Если в строке главного диска / колонка IUse% показывает 100%, причина найдена. Если нет — проверьте ещё раз место командой df -h: возможно, заполнен другой диск. Как с этим быть, рассказано на странице No space left on device.

Шаг 2. Найдите папку с лишними файлами

Команда du умеет считать не размер, а число файлов. Начните с корня диска:

sudo du --inodes -x -d1 / 2>/dev/null | sort -n

Если система спросит пароль, введите пароль своего пользователя на сервере. Символы при вводе не видны — так и должно быть: наберите пароль и нажмите Enter. Подсчёт может занять несколько минут.

Внизу списка — папки с наибольшим числом файлов. Загляните в верхнюю из них той же командой, например:

sudo du --inodes -x -d1 /var 2>/dev/null | sort -n

Спускайтесь так, пока не найдёте папку, где лежат сотни тысяч или миллионы файлов. Это может быть кеш сайта, файлы сессий PHP, временные файлы, очередь писем.

Шаг 3. Удалите лишние файлы

Сначала разберитесь, чьи это файлы. Удалённые файлы не вернуть. Не удаляйте ничего в /usr, /etc и /var/lib, если не уверены, что это кеш.

Кеш сайта лучше очистить средствами самого сайта: в админке CMS есть кнопка очистки кеша. Если сайт не открывается, кеш можно удалить командой. Пример для папки кеша сайта /var/www/example.com/cache:

sudo find /var/www/example.com/cache -type f -delete

Подставьте свою папку и перепроверьте путь перед нажатием Enter. Команда удаляет все файлы внутри папки, сама папка останется.

Команда rm * в папке с миллионами файлов не сработает: она ответит Argument list too long — список файлов не помещается в одну команду. Поэтому используйте find.

Как проверить

df -i /

В колонке IUse% должно стать меньше 100%. Затем перезапустите службы, которые падали, и найдите программу, которая наплодила файлы: иначе через какое-то время они накопятся снова. Для кеша и сессий бывает нужна настройка их автоочистки.

Источники

Сверено 10 октября 2026 года.

Что почитать дальше

Проверено и обновлено: 10.10.2026