диск заполнен, но du показывает меньше использованного места — как найти причину и исправить

  • Обновлено
  • Чтение ≈ 4 минуты
  • Нужны права администратора

Краткий ответ

Arch Linux сообщает, что файловая система заполнена, хотя команда du суммирует значительно меньше места. Различайте разные точки монтирования, скрытые данными при mount каталоги, зарезервированные блоки и файлы, уже удалённые, но открытые процессом.

В этой статье
  1. Симптом и границы применимости
  2. Возможные причины и признаки
  3. Подробная диагностика и безопасные действия
  4. Как понять, что проблема устранена
  5. Что делать, если не помогло

#Симптом и границы применимости

Arch Linux сообщает, что файловая система заполнена, хотя команда du суммирует значительно меньше места. Различайте разные точки монтирования, скрытые данными при mount каталоги, зарезервированные блоки и файлы, уже удалённые, но открытые процессом.

#Возможные причины и признаки

Возможная причинаКак узнатьЧто делать
Удалённый файл всё ещё открытПроцесс держит дескриптор после удаления имени файла.lsof +L1 показывает deleted и большой SIZE/OFF; df не освобождается.После согласования перезапустить только владеющую программу.
du считает не тот томЗначения df и du получены для разных файловых систем/подкаталогов.findmnt показывает отдельные /home, /var или btrfs-subvolume.Сравнивать в пределах одного и того же источника.
Служебное пространство и квотыdf учитывает структуру ФС, reserved blocks, метаданные Btrfs/snapshots.На ext4 есть резерв, на btrfs — снимки, du не соответствует всем выделенным экстентам.Применять специализированную диагностику по типу системы.

#Подробная диагностика и безопасные действия

  1. 1. Определите реальную заполненную файловую системуВ терминале посмотрите тип ФС, источник и точку монтирования. Если предупреждение о /var, но /var — отдельный том, сравнивайте показатели именно /var. df -h показывает занятость блоков, df -i — индексы, которые могут закончиться отдельно.
  2. Диагностическая команда в терминале Arch Linux, без изменения настроек
    Linux · Терминал (Bash)Команда
    Диагностическая команда в терминале Arch Linux, без изменения настроек.
    df -hT
    df -i
    findmnt -T /var
  1. 2. Сравните du только с тем же томомКоманда du -x не проходит в другие файловые системы; запуск от корня с sudo может занять время и читать чувствительные каталоги. На нагруженном сервере используйте узкую точку монтирования вместо полного обхода всех данных.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)КомандаНужен sudo
    Только чтение, но может создавать заметную дисковую нагрузку; при необходимости ограничьте каталог.
    sudo du -xhd1 /var 2>/dev/null
    df -h /var
  1. 3. Ищите удалённые, но открытые файлыЕсли lsof установлен, +L1 перечисляет открытые файлы со счётчиком ссылок меньше одного, часто с пометкой deleted. Запишите PID и имя процесса; не делайте вывод лишь по одному размеру — файл может быть отображением или разрежённым.
  2. Только просмотр таблицы открытых файлов
    Linux · Терминал (Bash)КомандаНужен sudo
    Только просмотр таблицы открытых файлов. Не очищайте файловые дескрипторы вручную.
    command -v lsof
    sudo lsof +L1
  1. 4. Проверьте место под скрытыми точками монтированияВ выводе findmnt найдите вложенные mount и сравните с каталогами обхода. Данные, записанные в папку до монтирования отдельного диска, скрываются при его монтировании; искать и очищать их следует из Live-среды или в окно обслуживания.
    Linux · Терминал (Bash)Команда
    Диагностическая команда в терминале Arch Linux, без изменения настроек.
    findmnt -R /var
    lsblk -f
  1. 5. Учтите особенности ext4 и BtrfsДля ext4 резерв под администратора отражается в статистике блоков; для Btrfs снимки и разделяемые экстенты могут влиять на оценку. Перед установкой дополнительных инструментов проверьте тип ФС. Не меняйте зарезервированное пространство просто для того, чтобы скрыть предупреждение.
  2. Диагностическая команда в терминале Arch Linux, без изменения настроек
    Linux · Терминал (Bash)Команда
    Диагностическая команда в терминале Arch Linux, без изменения настроек.
    findmnt -no FSTYPE,SOURCE,TARGET /var
    stat -f -c "type=%T free=%f avail=%a blocksize=%S" /var
  1. 6. Освободите пространство только известным безопасным способомЕсли подтверждён большой удалённый файл, согласованно перезапустите именно владеющий процесс (перезапуск сервиса прервёт его работу). Если объём занят журналом, используйте штатную политику ротации, а не удаление открытых /var/log-файлов.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)КомандаНужен sudo
    Диагностика: команды не удаляют журналы или данные; решение о перезапуске принимается отдельно.
    sudo lsof +L1
    journalctl --disk-usage
  1. 7. Проверьте изменение на одном томеСравните df до и после адресного исправления; df -i нужен, если кончились inode. Если du и df расходятся дальше, сохраните их вывод и сведения о ФС для специалиста, не стирайте снапшоты или системные папки по догадке.
  2. Дополнительная команда по теме
    Linux · Терминал (Bash)КомандаНужен sudo
    Выполняйте в терминале Arch Linux; изменяйте только указанную и предварительно проверенную настройку.
    df -hT /var
    df -i /var
    sudo du -xhs /var 2>/dev/null

#Как понять, что проблема устранена

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

#Что делать, если не помогло

Не применяйте случайные советы для другого дистрибутива: в Arch Linux особенно опасны частичные обновления пакетов, а в Rocky Linux — отключение SELinux или неконтролируемый перезапуск системных служб. Остановитесь после неуспешного безопасного шага, зафиксируйте фактическое сообщение и вернитесь к соответствующей причине. Для загрузки, разделов диска и единственного удалённого подключения используйте резервную копию и локальную консоль.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.