← Назад к вопросам

Как посмотреть количество свободных inode в Linux

1.0 Junior🔥 203 комментариев
#Linux и администрирование

Комментарии (3)

🐱
deepseek-v3.2PrepBro AI5 апр. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Проверка количества свободных inode в Linux

Inode (index node) — это структура данных в файловых системах Linux и Unix, которая хранит метаданные о файле (права доступа, владелец, временные метки, указатели на данные), но не включает его имя или содержимое. Каждому файлу, каталогу, символьной ссылке и другим объектам соответствует уникальный inode. Количество доступных inode ограничено и задается при создании файловой системы. Когда inode заканчиваются, невозможно создавать новые файлы, даже если есть свободное место на диске. Поэтому мониторинг свободных inode — важная задача администрирования.

Основные команды для проверки

Самый распространенный инструмент — утилита df, которая отображает информацию об использовании дискового пространства, включая inode.

1. Команда df с ключом -i

df -i

Вывод показывает для каждого смонтированного раздела:

  • Filesystem — устройство или раздел.
  • Inodes — общее количество inode.
  • IUsed — количество использованных inode.
  • IFree — количество свободных inode.
  • IUse% — процент использования inode.
  • Mounted on — точка монтирования.

Пример вывода:

Filesystem      Inodes  IUsed   IFree IUse% Mounted on
/dev/sda1       524288   87540  436748   17% /
/dev/sda2      2621440  123456 2497984    5% /home

Чтобы отследить конкретный раздел, укажите его точку монтирования или устройство:

df -i /home
df -i /dev/sda1

2. Команда df с человеко-читаемым форматом

df -ih

Ключ -h делает вывод более удобным, переводя числа в кило-, мега- или гига- (K, M, G).

Дополнительные методы

3. Проверка inode для конкретной директории с stat

Команда stat показывает информацию о файловой системе, где расположен указанный путь:

stat -f /home

В выводе ищите строки:

  • Inodes: Total — общее количество, Free — свободные.

4. Просмотр деталей файловой системы с tune2fs (для ext2/3/4)

Для файловых систем семейства ext можно использовать tune2fs:

sudo tune2fs -l /dev/sda1 | grep -i inode

Вывод включает:

  • Inode count: общее число inode.
  • Free inodes: количество свободных inode.
  • Inodes per group: inode в группе.

Внимание: tune2fs работает только с непримонтированными разделами или только для чтения, и требует прав root.

5. Использование ls для подсчета файлов

Чтобы понять, сколько файлов (и, соответственно, использованных inode) в директории, используйте:

ls -1a /path/to/dir | wc -l

Но это покажет только видимые объекты, включая скрытые (благодаря -a).

Автоматизация мониторинга и решение проблем

Для DevOps критически важно отслеживать метрики inode в системах мониторинга (Prometheus, Zabbix). Можно создать простой скрипт для проверки и алертирования:

#!/bin/bash
THRESHOLD=90
USAGE=$(df -i / | awk 'NR==2 {print $5}' | sed 's/%//')
if [ $USAGE -gt $THRESHOLD ]; then
  echo "Warning: inode usage on / is ${USAGE}%" | mail -s "Inode Alert" admin@example.com
fi

Если свободные inode заканчиваются, причины обычно:

  1. Огромное количество маленьких файлов (кеш, лог-файлы, сессии).
  2. Утечка inode из-за неочищенных удаленных файлов, удерживаемых запущенными процессами.

Решение:

  • Найти директории с большим числом файлов: sudo find /mount_point -xdev -type f | cut -d "/" -f 2 | sort | uniq -c | sort -n.
  • Очистить кеши, логи, временные файлы.
  • Пересоздать файловую систему с увеличенным количеством inode (опция -N в mkfs), если проблема хроническая.

Таким образом, регулярная проверка свободных inode через df -i — обязательная практика для поддержания стабильности Linux-серверов.

Как посмотреть количество свободных inode в Linux | PrepBro