KernelHub®
← Все материалы
LINUX / РУКОВОДСТВО 06 / 5 МИНУТ

Куда ушло место на диске

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

Посмотрите файловую систему

df -h
df -i
findmnt

df -h показывает доступное место, df -i — количество inode. Множество мелких файлов может исчерпать inode раньше, чем гигабайты. findmnt помогает увидеть точки монтирования и понять, где именно закончилось место.

Измерьте конкретный каталог

В GNU/Linux команда ниже показывает размеры каталогов верхнего уровня в /var, оставаясь в пределах одной файловой системы. Чтение некоторых каталогов может требовать дополнительных прав.

du -xhd1 /var 2>/dev/null | sort -h

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

Проверьте открытые удалённые файлы

lsof +L1

Если установлен lsof, эта команда помогает найти открытые файлы с числом ссылок меньше единицы. После удаления файла работающий процесс может продолжать удерживать его содержимое до закрытия дескриптора. Видимость процессов зависит от ваших прав.

Не завершайте процесс наугад. Сначала определите сервис, влияние остановки и безопасный способ ротации или перезапуска. Несовпадение df и du может иметь и другие причины: снимки, резервирование, права и точки монтирования.

Удаляйте только известное

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

Перед удалением запишите абсолютный путь и список файлов. Не используйте массовые команды очистки, назначение которых вам неизвестно. После штатной очистки повторите df и проверьте состояние сервиса.

Читать в первоисточниках

Сначала понять. Затем изменить.Другие материалы →