Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

DISK_SPACE_ANALYSIS Linux / DevOps

Как посмотреть свободное место на диске в Linux: команды df -h и du -sh

Обновлено: 26.08.2026 · Официальная документация ↗

На сервере Linux заканчивается свободное место, сервисы выдают ошибку No space left on device, базы данных MySQL/PostgreSQL аварийно останавливаются, а пользователь не знает, какие папки и логи забили жесткий диск.

Шаг 1. Проверяем общее свободное место (команда df)

Откройте терминал и введите команду:

df -h

Флаг -h означает Human-readable (показывать размеры в удобных гигабайтах и мегабайтах, а не в байтах).

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

Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1        50G   46G  1.5G  97% /

Внимательно посмотрите на строку с точкой монтирования / (корень системы). Если в столбце Use% значение больше 90-95%, диск срочно нужно чистить.


Шаг 2. Ищем самые «тяжелые» папки в корне диска (команда du)

Чтобы понять, какая именно директория съела всё место, выполните:

sudo du -sh /* 2>/dev/null | sort -hr | head -n 10
  • du -sh /* — посчитать суммарный размер каждой папки в корне;
  • 2>/dev/null — скрыть системные предупреждения об отсутствии доступа к служебным папкам;
  • sort -hr — отсортировать папки от самых больших к самым маленьким;
  • head -n 10 — показать только топ-10 самых тяжелых директорий.

Шаг 3. Углубляемся в найденную проблемную папку

Чаще всего место забивают папки /var/log (старые логи) или /var/lib/docker (образы контейнеров). Перейдите в найденную большую папку и проверьте её содержимое:

sudo du -sh /var/log/* | sort -hr | head -n 10

Шаг 4. Быстрый поиск файлов размером более 500 МБ

Вы можете мгновенно найти все файлы-гиганты по всей системе одной командой:

sudo find / -type f -size +500M -exec ls -lh {} + 2>/dev/null
💡 Практика специалистов: Для наглядного интерактивного поиска мусора на диске установите консольную утилиту ncdu (команда: sudo apt install ncdu). Запустите 'ncdu /' и перемещайтесь по папкам стрелками как в проводнике.

Частые вопросы (FAQ)

В чем разница между командами df и du?

df (Disk Free) показывает общий объем, занятое и свободное место на всех смонтированных дисках и разделах. du (Disk Usage) сканирует конкретные папки и считает точный размер файлов внутри них.

Почему команда df показывает 100% занятости, но команда du не находит больших файлов?

Такое бывает, если лог-файл был удален командой rm, но работающий процесс (например, Nginx) все еще держит его открытым. Перезапустите сервис или найдите 'удаленные открытые файлы' командой: lsof | grep deleted.

Безопасно ли удалять файлы из папки /var/log?

Архивные файлы логов с расширением .gz и номерами на конце (например, syslog.1.gz) можно удалять безопасно. Текущие активные файлы логов лучше очищать командой обнуления: truncate -s 0 /var/log/syslog.

Как очистить кэш пакетов apt в Ubuntu, чтобы освободить место?

Выполните команду sudo apt clean, которая удалит все скачанные установочные deb-пакеты из директории /var/cache/apt/archives/.

Полезные материалы
Рекомендуем