Почему файл занимает на диске больше места чем его реальный размер?


Почему файл занимает на диске больше места чем его реальный размер?
Рейтинг: 5.0/1
Просмотров: 65 | Добавил: (08.02.2023) (Изменено: 08.02.2023)
Всего ответов: 4
Обсуждение вопроса:
Всего ответов: 4
Аватар
0

08.02.2023 оставил(а) комментарий:
Причина в разнице между реальным размером файла и фактически занимаемым местом на жестком диске кроется в размере блока, который автоматически или вручную был выбран при форматировании диска.

Большинство современных файловых систем могут работать с размерами блока от 1 КБ (1024 байта) до 64 КБ (65536 байт). При создании файла для его хранения на диске ему отводится определённое количество блоков.

Например, если в файловой системе, которая отформатирована с размером блока в 4 КБ (4096 байт), создать пустой текстовый файл, то его «Размер» (Общий размер) будет 0 байт, а фактически «На диске» (Размер на диске) он будет занимать 4 КБ (4096 байт).

Другими словами, под хранение файла отводится минимум один блок файловой системы, а если файл не помещается в один блок, то ему отводится ещё один, и так далее пока файл не поместится полностью. Когда файл не помещается в один блок, то в таком случае мы получаем его фрагментацию - т.е. файл разбивается на фрагменты размером в 4 КБ (4096 байт) и помещается в отдельные ячейки (блоки) файловой системы.

Бывают также и такие, казалось бы парадоксальные, случаи, когда файловый менеджер может выдать результат в котором «Размер» (Общий размер) окажется больше, чем фактически «На диске» (Размер на диске). Так может произойти, например, из-за использования NTFS сжатия на разделе.

Какой размер блока выбирать при форматировании диска
Для операционной системы, включая домашние каталоги пользователей, вполне оптимальным размером является стандартный размер блока в 4 КБ.

А вот для хранения больших мультимедиа (аудио, видео) файлов, минимальный размер каждого из которых всегда больше 1-3 МБ, лучше конечно выделить отдельный раздел и отформатировать его с максимальным размером блока в 64 КБ.

Что касается виртуальных серверов используемых под обычные веб-сайты, то в этом случае возможно будет лучше снизить размер блока до 2, а то и до 1 КБ - ведь от общего числа файлов хорошо оптимизированного сайта может быть около половины файлов не превышающий даже 1 КБ (80, 500, 800 байт).
Аватар
0

08.02.2023 оставил(а) комментарий:
Перед использованием жесткого диска операционная система форматирует его. При этом на диске создаются кластеры для размещения информации. Оглавление, где написано, в каком кластере какой файл следует искать. Размер кластеров разный в разных системах, в файловой системе NTFS этот размер 4096 байт.

Когда Вы записываете файл на диск, он «разрезается» и раскладывается по кластерам. Если его размер менее 4096 байт, он все равно займет один кластер.
Аватар
0

08.02.2023 оставил(а) комментарий:
При просмотре свойств любого файла вы можете видеть два параметра, указывающих его вес – «Размер» и «На диске». И эти показатели будут разными.

На жёстком диске с файловой системой NTFS (на компьютерах чаще всего именно такая файловая система) существуют ячейки размером по 4 Кб. Таким образом, если мы сохраняем на компьютере файл размером, допустим, в 8 Кб, он займёт 2 ячейки памяти. Если мы сохраняем файл размером в 5 Кб, он тоже замёт 2 ячейки (4 Кб в одну и 1 Кб в другую). Файлы, размером менее 4 Кб занимают одну ячейку. Если файл размером 5 Кб, занимает 2 ячейки (4 Кб в одной и 1 Кб в другой), то эта не заполнена до конца ячейка, не займётся другим файлом. Другой файл будет записываться в следующую свободную ячейку.
Аватар
0

08.02.2023 оставил(а) комментарий:
В файловых системах, использующих кластеры, а FAT и NTFS относятся именно к таким ФС, есть параметр – размер файла на диске, то есть суммарный размер кластеров, отведенных этому файлу. В файловых системах FAT этот размер больше размера собственно файла или равен ему. Разница между размерами, если она есть, – так называемый хвост файла – это напрасно пропадающее место на диске, плата за размещение файлов по кластерам, а не встык друг за другом, хотя файловые системы с таким размещением файлов тоже существуют.

Во времена дискет существовали программы, которые позволяли записывать данные в хвосты файлов, чтобы скрытно передать на таких дискетах информацию. Ведь стандартными средствами получить доступ к хвостам файлов нельзя.

Если файл сжат, то его размер на диске может быть заметно меньше собственно длины файла (количества данных в нем).
avatar