Почему существует несоответствие между дисками и df?

Я использую Ubuntu Bionic Beaver - Development Branch. У меня есть жесткий диск на 1 ТБ.

Я разделил диск с помощью Gparted таким образом: часть 1: 26GB FAT, часть 2: 948GB Ext4, часть 3: 26GB Swap.

Когда я используйте приложение «Диски», которое по умолчанию используется в ОС Ubuntu, оно отображает использование диска, как я изложил. Когда я запускаю df -h в терминале (некоторый вывод опущен):

/ dev / sda1: 25GB (/ boot / efi); / dev / sda2: 868GB (/)

/ dev / sda3 не входит в вывод df -h, что хорошо, но почему огромная разница, когда вторая (ext4, / dev / sda2) раздел? Мой ноутбук HP имеет три года и первоначально поставляется с предустановленными окнами 8. Я уничтожил весь диск несколько раз, установил множество дистрибутивов Linux, но до установки новой ОС я регулярно создаю новую таблицу разделов и новые разделы. Это не новость для этой итерации Ubuntu; Я заметил это в прошлом. Обратите внимание, что я учитывал использование диска; полный размер - в отличие от доступного - части 2 в соответствии с дисками - 868 ГБ. Запуск df -h говорит мне о его 948 ГБ. Почему это?

1
задан 1 April 2018 в 21:32

2 ответа

TL; DR они измеряют разные вещи

. Более длинная версия:

Использование хранилища в файловых системах Linux (любая файловая система действительно) на самом деле очень сложна. Я рекомендую Googling для различий в df и du для некоторых классических примеров инструментов, измеряющих разные вещи, которые новичок (не критикующий, мы все должны изучить), возможно, должен быть таким же.

Here является хорошим примером. Скажите, что вы заметили, что у вас мало места, проверяя как с du, так и с df, и они совпадают. Большой! Затем вы удаляете большой файл и снова проверяете. Если у процесса есть дескриптор этого файла, вы увидите разные результаты. du больше не будет видеть файл и сразу же отразить это изменение. df покажет разницу только после завершения процесса доступа к файлу.

Я также рекомендую играть с lsof. Под крышками все эти инструменты используют различные стратегии и правила для определения «использования», потому что они решают разные проблемы, и это полезно, когда вы понимаете их намерения. Приложение disks совпадает с тем, что оно делает предположения об определении «используемого пространства» и поэтому дает результаты соответственно.

Надеюсь, что это поможет!

1
ответ дан 17 July 2018 в 17:40

TL; DR они измеряют разные вещи

. Более длинная версия:

Использование хранилища в файловых системах Linux (любая файловая система действительно) на самом деле очень сложна. Я рекомендую Googling для различий в df и du для некоторых классических примеров инструментов, измеряющих разные вещи, которые новичок (не критикующий, мы все должны изучить), возможно, должен быть таким же.

Here является хорошим примером. Скажите, что вы заметили, что у вас мало места, проверяя как с du, так и с df, и они совпадают. Большой! Затем вы удаляете большой файл и снова проверяете. Если у процесса есть дескриптор этого файла, вы увидите разные результаты. du больше не будет видеть файл и сразу же отразить это изменение. df покажет разницу только после завершения процесса доступа к файлу.

Я также рекомендую играть с lsof. Под крышками все эти инструменты используют различные стратегии и правила для определения «использования», потому что они решают разные проблемы, и это полезно, когда вы понимаете их намерения. Приложение disks совпадает с тем, что оно делает предположения об определении «используемого пространства» и поэтому дает результаты соответственно.

Надеюсь, что это поможет!

1
ответ дан 23 July 2018 в 18:31

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

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