Рейтинг:6

Почему `df` и `du` сообщают о свободном пространстве по-разному в Ubuntu 18.04?

флаг br

Почему эти две команды сообщают о свободном пространстве так по-разному? Это начало время от времени происходить в прошлом году на нескольких виртуальных машинах Ubuntu 18.04.

дф сообщает о 100% использовании в то время как дю-смх показывает только 2,3 ГБ из 4,0 ГБ (всего) в использовании.

За этим часто следует rsyslog или же системный журнал-ng заполнение /вар с сообщениями об ошибках, когда сервер системного журнала отключен для обслуживания.

# дф -мх /вар
Используемый размер файловой системы Доступно Использование % Установлено на
/dev/mapper/new_vg-var 4.0G 3.9G 0 100% /var

# du -smh /var
2.3G/вар

# фьюзер /var
Рейтинг:8
флаг cn

дф запрашивает у файловой системы общее количество использованных блоков, смотрите man 3 statvfs. Быстрый и точный учёт объёма, но без детализации по каким файлам.

дю перебирает файлы и суммирует их размеры. Медленнее, но может печатать в зависимости от размера файла.

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


За этим часто следует rsyslog или же системный журнал-ng заполнение /вар с сообщениями об ошибках, когда сервер системного журнала отключен для обслуживания.

Основной причиной будет ваша конфигурация удаленного ведения журнала.

Краткосрочная правильная ротация файлов журналов, например запуск logrotate для этого случая. Обратите внимание, что типичная конфигурация в /etc/logrotate.d/*syslog отправляет rsyslog сигнал HUP для повторного открытия новых файлов журнала.

Рассмотрите возможность увеличения размера /var для обработки фактического размера файлов журналов.

Пересмотрите конфигурацию ведения журнала, чтобы делать что-то подходящее, когда удаленный сервер не работает и когда на диске мало места. rsyslog может быть настроен с очереди которые используют ограниченный объем пространства и отбрасывают сообщения в заполненной очереди. пример конфигурации rsyslog из базы знаний SLES, необходимо настроить для вашей настройки ведения журнала:

# кошка /etc/rsyslog.d/ora_audit.conf
если ( $syslogfacility-text == 'local1' ) и ( $syslogseverity == 4 /* предупреждение */ ) then {
        $WorkDirectory /var/spool/rsyslog # где размещать файлы спула
        $ActionQueueFileName RemoteQueue # уникальный префикс имени для буферных файлов
        $ActionQueueMaxDiskSpace 1G # Ограничение на 1 ГБ (используйте как можно больше)
        $ActionQueueSaveOnShutdown on # сохранять сообщения на диск при завершении работы
        $ActionQueueType LinkedList # запустить асинхронно
        $ActionResumeRetryCount -1 # бесконечные попытки, если хост не работает
        $ActionQueueTimeoutEnqueue 0 # вызывает немедленное удаление сообщения, если очередь заполнена
        *.* @@aaa.bbb.ccc.ddd:514 # IP-адрес удаленного сервера системного журнала: порт 514
        останавливаться
}

# Вышеуказанная настройка немедленно отбрасывает любые сообщения, если достигнут лимит размера очереди (в этой настройке 1 ГБ)!
Рейтинг:6
флаг mx

Наиболее распространенные причины, по которым df больше du:

  • ты не бежишь дю на всей файловой системе.
    • У вас нет прав доступа ко всем каталогам.
    • Вы сделали что-то вроде du -s /файловая система/*, и вам не хватает точечных файлов вверху. Повторить как du -sx /файловая система
    • (Редко) Вы затенили часть своей файловой системы другим монтированием. Устанавливая сверху, дю не может получить доступ к файлам, чтобы определить размер. Можно изменить их размер, размонтировав теневую файловую систему или часто с помощью циклического монтирования исходной файловой системы.
  • У вас есть файлы, которые все еще открыты, но удалены. дю больше не могу получить к ним доступ для чтения, но они по-прежнему занимают место. Пытаться lsof +aL1 /файловая система чтобы найти потерянные файлы и процесс, удерживающий их открытыми. Когда процесс закроет файл, пространство будет освобождено.

Наиболее распространенная причина того, что df меньше du:

  • Внутри смонтирована дополнительная файловая система, и ваш дю спускается в него и считает и это пространство. Повторить как du -sx /файловая система

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.