где может быть мое дисковое пространство, если оно не разрежено, не удалено или не скрыто точкой монтирования

sed имеет небуферизованный режим, поэтому следующее должно работать также:

... | sed -u -r '/%[^\n]*\n/d'

3
13.04.2017, 15:36
2 ответа

Другие возможные объяснения:

  • вы находитесь в chroot или пространстве имен монтирования и не имеете доступа ко всей файловой системе. Вы можете узнать, запустив ls -id / , который дает 2 , если вы не находитесь в пространстве имен chroot / mount.
  • Файловая система повреждена.
  • Пространство используется одним из специальных индексов . Вы можете использовать debugfs и выполнить некоторые stat <3> , stat <4> ... для проверки.
  • Пространство используется удаленным файлом, этот удаленный файл открыт процессом в другом пространстве имен pid (и вы не находитесь в пространстве имен корневого pid).
  • Пространство используется удаленным файлом, этот удаленный файл не открывается ни одним файлом, но, например, подключен к устройству петли ( losetup -a для проверки).

Обратите внимание, что нет причин, по которым разреженные файлы могут способствовать несоответствию между du и df .

3
27.01.2020, 21:18

Существует множество вещей, на которые файловая система может тратить дисковое пространство, не связанное с содержимым файлов.

df берет количество использованных и доступных блоков непосредственно из файловой системы, а du просто суммирует размер блоков, выделенных каждому файлу, поэтому любые не связанные с ФС структуры данных не учитываются.

Совершенно нормально, что du показывает меньше используемого пространства, чем df. Странно, что разница так велика, особенно для редко изменяемого корневого раздела. Вы как-то настраивали свою ФС? Вы также пробовали du --inodes для сравнения с df -i?

1
27.01.2020, 21:18

Теги

Похожие вопросы