Диск полон, но "du" говорит иначе, на Centos 6.7

"df" показывает /home как заполненный на 100%, но если я использую следующее, это только добавляет примерно 45% от общего пространства:

for dir in $(ls -1 /home);do du -sh /home/$dir;done

Кто-нибудь знает, где мое пропущенное место?!

С уважением, Джим.

1 ответ

Решение

Это 95% времени означает, что у вас запущены процессы, которые все еще используют файлы, которые были "удалены". Это означает, что файловая система не может их очистить. du просматривает дерево файловой системы и не может найти их (потому что их нет в нем), но inode все еще используются, поэтому не могут быть собраны.

https://unix.stackexchange.com/a/68532

sudo find /proc/*/fd -ls 2>/dev/null | grep '(deleted)'

Если это не 45%, а более 90%, это обычно означает, что есть другие вещи, занимающие дисковое пространство, которые du не находит, например, файлы, спрятанные в каталогах, которые потеряли своего родителя. Этого никогда не должно случиться, но, тем не менее, это может произойти в случае проблем с файловой системой. Проверка файловой системы с помощью fsck тогда может решить проблему.

Другие вопросы по тегам