4

У меня установлен жесткий диск Intel X25-M емкостью 80 ГБ на компьютере с Linux, работающим под управлением Debian 5.0. Файловая система на SSD - ext4. У меня не было проблем с дисководом, и я использовал его в течение достаточно долгого времени как для хранения файлов подкачки, так и для хранения нескольких больших файлов базы данных, которые требуют произвольного доступа.

Тем не менее, я заметил это нечетное значение из ls:

> ls -lh /ssd
total 34G
-rwx------ 1 root root 23G 2010-12-11 18:00 file1.dat
-rwx------ 1 root root 22G 2010-12-11 18:00 file2.dat

Я изменил имена файлов здесь из соображений безопасности, но кроме этого это именно то, что выводит ls . Очевидно, что общий размер показаний неверен.

Вот соответствующий вывод из df

> df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/sda1              74G   35G   36G  50% /ssd

Несмотря на это неправильное считывание, диск, кажется, работает нормально, и диагностические утилиты не обнаружили ничего плохого с диском. Это какая-то известная ошибка в ext4 , или, скорее всего, что-то не так с диском?

2 ответа2

6

Скорее всего, нет. Размер, отображаемый ls - это длина файла, однако большинство современных файловых систем поддерживают "разреженные файлы", когда пустые блоки фактически не записываются на диск. Попробуйте запустить du -h /ssd /* и посмотрите, в каком размере он сообщает файлы. 'du' будет отображать количество фактически используемого диска, которое должно быть достаточно близко (исключая накладные расходы файловой системы и зарезервированные блоки) к тому, о котором сообщает 'df'.

2

Второе попадание из поиска Google: разреженные файлы, объясняет это подробно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .