# Иноды и ошибка «No space left on device»

> Что такое инод, как посмотреть использование инодов с помощью df -i и как найти директории с миллионами мелких файлов.

Инод (inode) — это структура данных, которую файловые системы в стиле Unix используют для хранения информации о файле, такой как владелец, права доступа, размер и расположение данных. Каждый файл использует один инод, а во многих файловых системах их количество фиксировано, поэтому миллионы крошечных файлов могут вызвать ошибку «No space left on device», даже если df -h показывает наличие свободного места.

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

Команда 'df -i' выводит общее количество, использованные и свободные иноды для каждой файловой системы. 'ls -i' показывает номер инода файла, а 'stat <file>' — подробную информацию о нем.

## Типичные причины

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

## Поиск директории

GNU du умеет считать иноды: 'du --inodes -x / | sort -n | tail' выводит директории с наибольшим количеством записей.

## Как исправить исчерпание инодов

1. Подтверждение: df -i (IUse% близко к 100%).
2. Поиск директории: sudo du --inodes -x --max-depth=3 / | sort -n | tail -20
3. Прежде чем что-либо удалять, проверьте, какой процесс создает эти файлы.
4. Удалите старые файлы приложения с помощью его собственных инструментов или команды find, например: find /path -type f -mtime +7 -delete после предварительного запуска без ключа -delete.

## Осторожно

- Всегда сначала запускайте find без -delete и просматривайте список.
- Количество инодов в ext4 фиксируется при создании файловой системы.

## Источники

- [inode(7)](https://man7.org/linux/man-pages/man7/inode.7.html)
- [df(1)](https://man7.org/linux/man-pages/man1/df.1.html)
- [du(1)](https://man7.org/linux/man-pages/man1/du.1.html)
- [find(1)](https://man7.org/linux/man-pages/man1/find.1.html)

Обновлено: 2026-10-08
URL: https://raincleaner.eu/ru/wiki/linux/inodes
