Результаты du в файловой системе несовместимы с df

Результаты du в файловой системе несовместимы с df

Чем объясняется расхождение в использовании ( 82 GBvs 13 GB), которое я вижу ниже?

  • С использованием df:

    $ df -h /
    Filesystem            Size  Used Avail Use% Mounted on
    /dev/sda2              96G   82G  9.9G  90% /
    
  • С использованием du:

    $ sudo du -cshx /
    13G     /
    13G     total
    

решение1

-xoption — ложный друг, поскольку его цель — пропускать вещи. Эта опция никогда не даст вам полной картины.

Чтобы получить полный список, используйте bind mounts, а затем du, ncdu, xdiskusage, baobabили что угодно для привязанного каталога без параметров пропуска:

mkdir /mnt/root
mount --bind / /mnt/root
ncdu /mnt/root

Затем вы можете обнаружить, что у вас много всего /mnt/backup(потому что он не был смонтирован во время выполнения задачи резервного копирования) или гигантский файл /dev(результат того, dd if=/dev/zero of=/dev/sdxчто не /dev/sdxсуществовало и не была смонтирована tmpfs /dev).

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

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