df -h показывает / 100%, но du -sh * не показывает, где находится использование

df -h показывает / 100%, но du -sh * не показывает, где находится использование

ОС: Oracle Linux 7.5

df -h продолжает показывать, что / заполнен на 100%, но поиск в / с помощью du -sh * не показывает, где это использование может быть, любая помощь и предложения будут оценены по достоинству. Я также не могу установить lsof из-за проблемы с пространством.

[root@ /]# df -h
Filesystem                                    Size  Used Avail Use% Mounted on
devtmpfs                                       32G     0   32G   0% /dev
tmpfs                                          32G   14M   32G   1% /dev/shm
tmpfs                                          32G  1.3G   31G   4% /run
tmpfs                                          32G     0   32G   0% /sys/fs/cgroup
/dev/sda3                                      50G   48G     0 100% /
/dev/sda1                                     976M  208M  702M  23% /boot
/dev/sda2                                     469G   75M  445G   1% /home
//hidden                                       11T  8.5T  2.4T  79% /mnt/buffalo
/dev/sdb                                      2.7T  632G  2.0T  25% /rsv


[root@santo /]# du -sh *
0       bin
206M    boot
14M     dev
38M     etc
2.1M    home
0       lib
0       lib64
16K     lost+found
4.0K    media
4.0K    mnt
28K     opt
0       proc
11M     root
632G    rsv
1.3G    run
0       sbin
4.0K    srv
0       sys
32K     tmp
2.3G    usr
755M    var

решение1

Это может быть каталог, начинающийся с ..

Попробуйте du --max-depth 1 --one-file-system /, чтобы отобразить каталоги верхнего уровня и не переходить через точки монтирования.

Например

# du --max-depth 1 --one-file-system --human-readable / | sort -h
4.0K    /media
4.0K    /srv
16K     /lost+found
20K     /mnt
488K    /tmp
14M     /SFTP
29M     /etc
72M     /boot
245M    /root
1.7G    /opt
3.7G    /var
5.7G    /usr
22G     /home
34G     /

решение2

Часть из этого можно выполнить lsofс помощью следующей команды.

find /proc/*/map_files -ls | grep '(deleted)'

Имена символических ссылок, указанные в этом выводе, включают диапазоны в шестнадцатеричном формате, которые в некоторых случаях могут соответствовать размерам файлов. /В этом контексте, скорее всего, будут иметь значение только цели символических ссылок в вашей полной файловой системе ( ). Может быть особенно полезно проверить наличие несвязанных открытых файлов в /var/log.

Если таким образом вы обнаружите подозрительный несвязанный открытый файл, его имя должно включать идентификатор процесса, который его открыл, а завершение этого процесса (или перезагрузка) должно освободить место, занимаемое этим файлом.

Другим местом для поиска скрытого пространства, помимо несвязанных открытых файлов (которые, если lsofустановлены, могут сообщать), являются точки монтирования. Если другой том смонтирован поверх непустой точки монтирования, использование диска под этой точкой монтирования не будет сообщаться du.

Если неудобно размонтировать том, можно изучить, что находится под точкой монтирования, экспортировав /его через NFS, смонтировав и запустив duв монтировании NFS. Это должно сработать, если только сервер NFS не включает данные из других томов в то, что он экспортирует. Такой подход может не помочь, если требуется установка дополнительных пакетов.

Связанный контент