df: проверка дискового пространства
Как проверить использование диска и найти что занимает место на сервере.
Время: 5 мин · Сложность: ★☆☆☆☆
Подходит: ✓ Ubuntu 22.04 · ✓ Debian 12 · ✓ AlmaLinux 9
Краткое описание
df показывает использование дискового пространства по разделам. Когда диск заканчивается, сервисы начинают падать — df помогает быстро это обнаружить и найти источник проблемы.
Когда пригодится
- Сервис упал с ошибкой «No space left on device»
- Плановая проверка использования диска
- Файлы не создаются, хотя место есть (проблема с inode)
- Перед масштабированием — понять, сколько места осталось
Что понадобится
- Доступ к терминалу
dfвходит в стандартную поставку всех дистрибутивов, установка не нужна
Пошаговая инструкция
Показать все разделы в читаемом виде (КБ/МБ/ГБ):
df -h
Только основные файловые системы — без виртуальных tmpfs:
df -h -x tmpfs -x devtmpfs
Проверить использование inode (когда место есть, но файлы не создаются):
df -i
Найти, что занимает место — топ-20 директорий в корне:
du -sh /* 2>/dev/null | sort -rh | head -20
Найти большие файлы по всей системе:
find / -type f -size +100M 2>/dev/null | head -20
Проверить логи — частый источник переполнения:
du -sh /var/log/*
Проверка результата
Пример вывода df -h:
Filesystem Size Used Avail Use% Mounted on
/dev/vda1 40G 28G 12G 70% /
tmpfs 2.0G 0 2.0G 0% /dev/shm
Filesystem— раздел или устройствоSize— общий размерUsed— занятоAvail— доступноUse%— процент использования. При значении выше 90% нужно чистить или расширять дискMounted on— точка монтирования
Возможные ошибки
«No space left on device», но df показывает место есть — скорее всего, исчерпаны inode. Проверьте: df -i. Много мелких файлов (сессии, кеш) исчерпывают inode раньше дискового пространства.
Диск заполнен — что удалить?
Очистить старые журналы systemd:
journalctl --vacuum-size=500M
Удалить ненужные пакеты и кеш apt:
apt autoremove
apt clean
Найти и удалить старые ядра (Ubuntu/Debian):
apt autoremove --purge
FAQ
Почему df -h показывает меньше места, чем у тарифа?
Часть места занимает файловая система (метаданные, журнал). Это нормально — потери обычно 1–5%.
tmpfs занимает много места — это проблема?
tmpfs — виртуальная файловая система в RAM. Место в tmpfs — это оперативная память, не диск. Высокое использование tmpfs означает, что какой-то сервис активно использует RAM-диск (например, /run, /dev/shm).
Как узнать, какой процесс держит удалённый файл?lsof | grep deleted — покажет процессы, держащие дескрипторы удалённых файлов. Перезапустите такой процесс, чтобы освободить место.