Почему в свойствах папки размер и на диске разные
Перейти к содержимому

Почему в свойствах папки размер и на диске разные

  • автор:

Что означает «размер на диске» у папки Windows?

Если щелкнуть правой кнопкой папку и открыть ее страницу свойств, вы увидите два параметра: «Размер» (Size) и «На диске» (Size on disk). Что, собственно, означают эти цифры? Что они измеряют? Откуда, собственно, берутся сведения в проводнике о размере папки?

2024-05-02 09:21:18 04.08.2011 23:10, Реймонд Чен

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

Но оказывается, что в рекурсивном поиске по подпапкам есть свои хитрости. Одна из «особых» хитростей: точки повторной обработки обнаруживаются и рекурсивные переходы по ним не производятся. Другая хитрость обусловлена простым совпадением: размер символических ссылок на файлы не засчитывается. Причина не в особой «мудрости» кода поиска по подпапкам, а в том, что в файловой системе размер символических ссылок считается равным нулю. Теперь мы знаем, как считается размер файлов, но откуда берутся упомянутые цифры?

Что означает «размер на диске» у папки?

Измерение размера не составляет проблем — надо просто получить перечень размеров всех файлов, возвращенных функцией Find­First­File в структуре WIN32_FIND_DATA (nFile­Size­Low и nFile­Size­High). Но надо помнить, что эти цифры не обязательно верны из-за особенностей обновления записей каталога в файловой системе NTFS. Этому можно посвятить целую книгу, но вкратце суть в том, что возвращенная информация о размере файлов, запись которых не завершилась, не совсем верна, пока не будет закрыт описатель файла. Но даже после этого будет обновлена запись в каталоге, использованная для открытия файла.

С параметром «На диске» (Size on disk) все еще сложнее. Если диск поддерживает сжатие (что можно узнать по состоянию флага FILE_FILE_COMPRESSION, возвращенного функцией Get­Volume­Information) и файл является сжатым или разраженным (флаги FILE_ATTRIBUTE_COMPRESSED, FILE_ATTRIBUTE_SPARSE_FILE), значение параметра «На диске» этого файла будет равным значению, возвращенному функцией Get­Compressed­File­Size.

Это размер сжатого файла (если он сжат) или размер файла за вычетом незанятых частей, которые логически считаются пустыми (если это разреженный файл). Если файл не разрежен и не сжат, параметр «На диске» равен значению, возвращенному функцией Find­First­File, после его округления до ближайшего кластера.

Изначально алгоритм вычисления параметра «На диске» был создан разработчиками Windows 95. Их понимание строения файловой системы происходило из знаний, полученных при работе с MS-DOS. В то время единственной дисковой файловой системой была FAT. Таких вещей, как жесткая ссылка или альтернативный поток данных, еще не существовало. Содержимое файлов хранилось в кластерах.

Все эти принципы в NTFS не работают — даже принцип хранения файлов в кластерах. В NTFS файл может занимать нуль кластеров под данные, разместившись в пространстве основной таблицы файлов (master file table, MFT). Подробнее см. статью The Four Stages of NTFS File Growth. Естественно, что в параметре «На диске» не учитывается пространство, необходимое файловой системе для хранения файла, такое как место, занимаемое именем файла, записью в каталоге, метаданными файла и альтернативными потоками данных.

Значения, отображаемые в параметрах «Размер» (Size) и «На диске» (Size on disk) не нужно использовать, как точный размер «до байта» общего пространства, занимаемого файлами на диске. Это всего лишь грубая оценка, основанная на предположении, что большинство файлов стандартно, а файлов экзотических форматов нет или очень мало. Я имею в виду, что нет жестких ссылок и пренебрежительно мало альтернативных потоков данных. Если в вашем каталоге много жестких ссылок, таких как, например, сами Windows-каталоги, цифры на странице свойств будут неверными.

Можно использовать параметр «На диске» как оценку размера папки, но имейте в виду, что это очень базовая цифра. Если нужно внимательно следить за использованием дискового пространства, лучше воспользуйтесь дисковыми квотами, которые позволяют более точно выполнять эту задачу.

«Размер» и «На диске» в «Свойствах» — почему разные?

Замечали, если кликнуть правой кнопкой мыши по файлу или папке и в контекстном меню выбрать «Свойство», то там есть два значения о размере этого файла или папке? Порой люди даже путаются и не знают какой размер назвать кому-то или сами не знаю что правильнее будет. В этой небольшой статье я Вам напишу в чём отличие этих двух строк и почему у них порой такая разница.

Кто не понял про что я, то показываю основной и единственный скриншот для этой статьи:

Вот про то, что выделено, и будет статья.

Вся загвоздка тут кроется в самом «корню», а именно в выборе файловой системы при установке Windows. Обычно для ОС выбирают ФС NTFS, а у неё одна ячейка для хранения данных равняется 4 Кб. Если бы выбирали FAT (как на флешках), то размер ячейки там 64 Кб.

Поэтому поле «На диске» всегда будет кратным 4. Можете посмотреть и проверить любой файл или папку, там этот размер всегда можно будет разделить на 4 без остатка.

Здесь ещё есть такой нюанс, что когда файл записывается на диск, то может быть такое, что он не полностью вложиться в рамки этих 4х Кб. Это довольно частое явление и на скриншоте выше заметно такое.

Например размер файла 6 Кб. Одна часть записывается в одну ячейку 4кб, а вторая (оставшиеся 2 кб) переносится на вторую (4 кб), но т.к. размер фиксированный, то следующий файл не может «залезть» в эти 2 Кб и он будет записываться уже в новую ячейку.

Не запутались? Вполне возможно. Для наглядности можете снова посмотреть на скриншот выше. Там файл у меня размером 135 байт, но т.к. он меньше 4 кб, то он полностью займет «На диске» эти самые 4 кб. Даже если бы «Размер» был у меня 4,01 Кб, то «На диске» бы он занял 8 Кб.

В итоге получаем, что «Размер» — это реальный размер файла, а «На диске» — это сколько он занимает места именно на диске, в связи с настройками параметра «Размер единицы распределения» в настройках форматирования.

Если объяснять попроще, то можно сравнить с тем, будто идёт погрузка трубы в «вагоны» поезда. Например длина трубы 8 метров, а длина вагона 5 метров. Поэтому труба будет занимать 2 вагона, а следующую погрузят уже в третий. Ну вот как то так. Сравнение не особо удачное, но я уже не знаю как можно проще это объяснить.

Если всё же остались вопросы по тому, в чём разница между «Размер» и «На диске» — пишите в комментариях.

Размер и Размер на диске

Windows

Если нам нужно узнать, сколько места на диске занимает директория, то можно нажать на неё правой кнопкой мыши и выбрать «Свойства». На вкладке «Общие» мы получим целый два ответа на свой вопрос:

  • Размер (Size)
  • На диске (Size on disk)

Обычно «На диске» больше чем «Размер». Почему так?

win

Размер (Size) — это суммарный размер всех элементов папки. На диске (Size on disk) — это фактическое занимаемое папкой место на диске.

Разница между реальным объёмом данных и фактически занимаемым местом на диске зависит от размеров блока, который был выбран при форматировании диска. Для хранения файла на диске выделяется определённое количество блоков. Поэтому суммарный размер блоков может превышать реальный размер файла.

Размер блока может быть установлен вручную или автоматически. NTFS для разных размеров диска создаёт разные размеры блока. Стандартный размер блока (кластера) в файловой системе NTFS:

  • ёмкость до 16 Тб — 4 килобайта
  • ёмкость от 16 до 32 Тб — 8 килобайт
  • ёмкость от 32 до 64 Тб — 16 килобайт
  • ёмкость от 64 до 128 Тб — 32 килобайта
  • ёмкость от 128 до 256 Тб — 64 килобайта

Посмотреть текущий размер блока:

fsutil fsinfo ntfsinfo c:
Байтов на кластер: 4096

win

P.S.

Иногда «На диске» может быть меньше чем «Размер». Причиной может послужить NTFS сжатии, включённое на диске. Или наличие в папке жёстких ссылок.

Свойства файла «Размер» и «На диске»: в чём разница и каков реальный вес файла

Свойства файла «Размер» и «На диске»: в чём разница и каков реальный вес файла

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

Свойства файла «Размер» и «На диске»: в чём разница и каков реальный вес файла«Размер» и «На диске» — в чём разница

Итак, если кликнуть правой кнопкой на файл и выбрать пункт «Свойства», то мы видим окно, в котором можем посмотреть вес данного файла. Они указываются в строках «Размер» и «На диске». Эти параметры разные.

Свойства файла «Размер» и «На диске»: в чём разница и каков реальный вес файла

Почему они разные и какой реальный вес файла? Чтобы это понять, отойдём от компьютерной темы и обратимся к жизненному примеру.

Представьте себе, что у вас есть 3 бочки по 10 литров каждая. И вам необходимо сохранить в них 12 литров пива и 5 литра томатного сока. Вы заливаете пиво в первую бочку, туда пометилось только 10 литров. Оставшиеся 2 литра пива вы заливаете во вторую бочку. 5 литров томатного сока можно пометить в последнюю третью бочку.

В результате у вас получилась одна полная почка пива, одна бочка пива заполнена лишь на 2 литра, и ещё одна бочка томатного сока, заполнена только наполовину.

О них сейчас говорят все: SMM продвижение и маркетинг в социальных сетях. Но не все в курсе, как это реально работает. Блог pricesmm.com даёт не пустую теорию, как развивать интернет маркетинг в социальных сетях, а подкрепляет слова делом. Вы получите практичные советы, узнаете секреты лидеров, а также как и где отыскать эффективный СММ сервис. С такой поддержкой будет легко добиться успеха.

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

Продолжаем вести линию от бочек с пивом и томатным соком. Когда вы залили 10 литров пива в одну бочку, а оставшиеся 2 литра в другую, вы не стали наполнять эту не до конца залитую бочку пива томатным соком (ведь нельзя же смешивать пиво и сок). Вы в этом случае использовали другую, новую бочку.

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

И теперь вернёмся к самому началу – параметрам «Размер» и «На диске». «Размер» указывает, сколько есть реального объёма файла, то есть, сколько пива было в действительности. А «На диске» показывает, сколько этот файл занял места на диске, то есть, сколько объёма бочек ушло на сохранения имеющегося пива.

Параметр «Размер» является реальным размером файла. Файл будет таким, на какой носитель вы бы его не переместили. А «На диске» указывает, сколько места он занимает на жёстком диске. Он может зависеть от файловой системы носителя. «Размер» и «На диске» всегда близки, но первый меньше второго.

Для закрепления знаний обратимся к скриншотам с примерами. На первом скриншоте мы видим параметры «Размер» и «На диске» равные 10 байт и 4 Кб, соответственно.

Свойства файла «Размер» и «На диске»: в чём разница и каков реальный вес файла

Это значит, что файл реально всего весит 10 байт, на жёстком диске занимает одну целую ячейку – 4 Кб. В этой ячейке другие файлы не будут записаны.

На втором скриншоте параметры «Размер» и «На диске» равны 5.99 Кб и 8 Кб, соответственно.

Свойства файла «Размер» и «На диске»: в чём разница и каков реальный вес файла

Это значит, что реальный размер файла 5,99 Кб, а на диске он занимает две ячейки памяти, то есть 8 Кб. При этом одна из них заполнена полностью на 4 Кб, а вторая частично – на 1,99 Кб. И другой файл в эту, не до конца заполненную, ячейку памяти не запишется.

Похожие статьи:

Как провести дефрагментацию файла подкачки

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

Как провести дефрагментацию файла подкачки

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

Как провести дефрагментацию файла подкачки

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *