← К вики

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 — покажет процессы, держащие дескрипторы удалённых файлов. Перезапустите такой процесс, чтобы освободить место.

Полезные ссылки

Следующие статьи

Сейчас работают только те cookie, без которых сайт не откроется. Разрешите ещё аналитические — будем видеть, где интерфейс мешает, и чинить это.