Разница между размером файла и размером на диске

Разница между размером файла и размером на диске

При проверке свойств моей папки «Загрузки» я увидел, что там написано:

Общий размер файлов: 5,3 ГБ Размер на диске: 43,0 ГБ

o__O Я заметил это в Windows, но мне было лень выяснять подробности, потому что разница была всего в несколько процентов. Это из-за другой файловой системы, которую использует Linux? Это нормально?

решение1

Наименьший объем пространства, который может быть выделен на диске, называется «сектором» — исторически он составлял 512 байт, но более новые жесткие диски имеют более крупные сектора — 4096 байт (хотя я не уверен, составляют ли «логические секторы» тоже 4096 байт или они по-прежнему составляют 512 байт).

Таким образом, если у вас есть файл размером всего 1 байт, он все равно займет 512 байт на диске.

Большинство файлов намного больше нескольких байтов, поэтому разница обычно составляет всего несколько процентов. Я не уверен, есть ли у вас сотни миллионов маленьких файлов в папке «Загрузки», но это объяснило бы такое поведение.

решение2

Вероятно, это связано с большим количеством маленьких файлов, каждый файл занимает как минимум место одного блока или сектора. Обратный вариант также возможен с разреженными файлами. У вас может быть файл размером в несколько гигабайт, занимающий на диске всего пару килобайт (ls -lh и du -sh на файле покажут эту разницу). Большая строка из 0 байтов не хранится на диске, а хранится как метаданные («байт X до X + 10013434 равен 0»).

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