Не корректно отображаеся время после перезегрузки Xen Debian
Когда размер занятого дискового пространства в выводе df и du сильно отличается¶
Вывод df и du сильно отличаются по количеству свободного места в случае, когда были удалены большие файлы, но использовавший их процесс остановлен не был.
Так получается потому, что до завершения выполнения приложения дескрипторы открытого ранее файла не удаляются.
А соответствующая запись из древа каталогов удаляется, из-за чего du данный файл не находит, и его размер не учитывает. При этом ОС Linux, видя что файл ещё открыт приложением, хоть он и помечен как удалённый, и не помечает в ФС блоки, занятые ранее эиим файлом, как свободные.
Такая ситуация наблюдается до тех пор, пока приложение не закроет дескриптор данного файла.
В результате чего ОС Linux и утилита df(утилита учитывающая размер занятого места по количеству занятых блоков) считают это дисковое пространство занятым. И такая ситуация наблюдается до тех пор, пока приложение не закроет дескриптор данного файла.
Для решения этой проблемы необходимо завершить работу приложения, которое использует дескриптор данного файла.
К примеру, y нас есть большой удалённый кем-то файл, но не известно, какой процесс его использует.
Найти приложение, использующее удалённый ранее файл можно так
lsof -a +L1 /path/to/the/file
где вместо /path/to/the/file путь к файлу.
Найти все открытые и удалённые файлы можно командой
lsof -a +L1 \*mountpoint\*
или
lsof -nP \| grep '(deleted)'
find /proc/\*/fd -ls \| grep '(deleted)'
Ищем среди них файлы, которые могут занимать много дискового пространства. Это могут быть файлы логов и временные файлы баз данных в tmp/private tmp, временные файлы созданные обработчиками больших изображений и медиаконтента, etc.
К примеру, мы нашли большой удалённый access-лог nginx одного из виртуальных хостов. Значит, для решения проблемы мы должны перезапустить nginx.
Делаем
service nginx restart
http://johanlouwers.blogspot.md/2007/05/difference-between-df-and-du.html http://www.unix.com/aix/88474-huge-difference-reported-disk-usage-between-ls-df-du.html https://unix.stackexchange.com/questions/68523/find-and-remove-large-files-that-are-open-but-have-been-deleted https://superuser.com/questions/279497/difference-between-df-k-and-du-sh