Яка різниця між розміром і розміром на диску?


83

Переглядаючи властивості файлу Windows, я отримую два атрибути: "Розмір" та "Розмір на диску", а "Розмір на диску" завжди більший.

Що означають ці дві метрики?


1
Я не впевнений у цьому на 100%, але вважаю, що стислі файли також впливають на ці вимірювання.
AdminAlive

2
"Розмір на диску" не завжди більший. Невеликі файли зберігаються безпосередньо на MFT і матимуть розмір на диску = 0 . Стислі файли часто також мають менший розмір на диску. Те саме з розрідженими файлами
phuclv

Відповіді:


78

Розмір - це фактичний розмір файлу в байтах.

Розмір на диску - це фактична кількість місця, яке займає диск. Вони відрізняються тим, що диск розділений на доріжки та сектори і може виділяти блоки дискретного розміру.

Редагування

Для більш детального пояснення дивіться цей текст, який я скопіював з іншого сайту:

Ми знаємо, що диск складається з треків і секторів. У Windows це означає, що ОС виділяє місце для файлів у "кластерах" або "одиницях розподілу".

Розмір кластера може змінюватися, але типові діапазони становлять від 512 байт до 32 К і більше. Наприклад, на моєму диску C: \ одиниця розподілу становить 4096 байт. Це означає, що Windows виділить 4096 байт для будь-якого файлу або частини файлу, довжиною від 1 до 4096 байт.

Якщо у мене є файл розміром 17 КБ (кілобайт), то розмір на диску становив би 20,48 КБ (або 20480 байт). Обчислення складе 4096 (1 одиниця розподілу) x 5 = 20480 байт. Для зберігання файлу розміром 17 КБ потрібно 5 одиниць розподілу.

Іншим прикладом може бути, якщо у мене є файл розміром 2000 байт. Розмір файлу на диску становив би 4096 байт. Причина полягає в тому, що, незважаючи на те, що весь файл може вміщуватися всередині одного розподільного блоку, він все ще займає 4096 місця (один розподільний блок) на диску (лише один файл може використовувати одиницю розподілу і не може бути наданий спільно з іншими файлами).

Отже, розмір на диску - це простір усіх тих секторів, в яких зберігається файл. Це означає, що зазвичай розмір на диску завжди перевищує фактичний розмір.

Таким чином, фактичний розмір файлу (файлів) або папки (файлів) завжди слід брати зі значення " Розмір" під час перегляду вікна властивостей.

Джерело: Яка різниця між розміром і розміром на диску у властивостях папки Windows .


1
Тож чи варто дивитись на "розмір" чи "розмір на диску", коли я хочу порівняти відсоток, скільки займає папка порівняно із загальною кількістю поточного розділу?
android developer

1
Розмір @androiddeveloper на диску він
Am1rr3zA

Добре, дякую. Поцікавтеся, чому вони там не пояснили це, або поставте трохи кращий опис.
андроїд розробник

5
Відповідь на Synetech нижче додає важливі (і потенційно збивають з пантелику) точки про стиснення і жорстких зв'язків, обидва з яких можуть привести до розміру на диску , який менше , ніж розмір.
Оуен Блекер

1
@baroquedub Ви можете мати велику різницю між двома (як, наприклад, фактор x1000 у вашому прикладі). Ця різниця може статися особливо, якщо є маса невеликих файлів (в основному тому, що файли записуються як "блоки" на диску, тому принаймні весь розмір одного блоку буде прийнятий. Фактичний розмір блоку залежить від файлу- система, тому розмір знятого диска може бути різним на різних дисках
Pacopaco

23

Це стосується розмірів одиниці розподілу, які використовувались на вашому диску під час першого форматування.

Уявіть, що у вашій машині є дві балони для газу 2 х 10 галонів. Кожен газовий балон є одиницею розподілу. Потрібно отримати 12 галонів газу, тому потрібно використовувати обидві банки. В основному використовується 20 галонів виділеного простору, але лише заповнення 12 галонів.

Ось розмір за замовчуванням для Windows XP

 Drive size   
 (logical volume)             Cluster size          Sectors   
 ----------------------------------------------------------
 512 MB or less               512 bytes             1
 513 MB - 1,024 MB (1 GB)     1,024 bytes (1 KB)    2 
 1,025 MB - 2,048 MB (2 GB)   2,048 bytes (2 KB)    4
 2,049 MB and larger          4,096 bytes (4 KB)    8

Якщо ви думаєте про розмір кластера, як кожен із ваших газових банок: утримуйте 4 КБ "газу" кожен. Але ваш файл - 2 КБ, тоді розмір заливки - 2 КБ, а розмір на диску - 4 КБ


6
Дозвольте мені додати вашу відповідь. Розмір одиниці розподілу (відро) вибирається виходячи з розміру диска. Якщо ви використовуєте відро для спорожнення ванни, ви вибрали б невелике відро. Якщо ви спорожняєте басейн, ви будете використовувати більше відро.
Les

13

Простір кластерів

Ви не можете отримати доступ до кожного окремого байту на носії інформації окремо. Це було б надзвичайно неефективно, оскільки системі потрібен певний спосіб відстеження, які з них використовуються, а які безкоштовні (тобто список), тому виконання кожного байту окремо створює занадто багато підслуховування (для кожного окремого байта, тобто від 1 до 1, список був би таким же великим, як і сам носій!)

Натомість носій розбивається на фрагменти, блоки, блоки, групи, як би ви їх не хотіли назвати (технічний термін - це кластери ), кожен з яких містить - послідовне - кількість байт (зазвичай ви можете вказати розмір кластери, оскільки різні способи використання вимагають різного розміру для зменшення відходів).

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

Переглядаючи властивості для файлу, ви бачите справжній розмір файлу, а також розмір, який він набирає на диску, який включає будь-який " слабкий ", тобто "поради кластера", які не використовуються. Зазвичай це не так багато файлів, і розмір на диску , як правило, буде майже рівний фактичному розміру, але коли ви додасте витрачений простір з усіх тисяч файлів на диску, вони можуть скластися. Тому, коли ви переглядаєте розмір великої папки, особливо тієї, що має багато крихітних файлів, менших за кластер, розмір на диску (тобто кількість дискового простору, позначеного як використаний) може в кінцевому рахунку бути значно більшим за фактичний розмір (тобто кількість місця, яке фактично потребують файли).

У такому випадку, як вище, можна спробувати зменшити розмір кластера, щоб кожен файл втрачав менше місця. Як правило, дисковод з втраченими мало файлами повинен використовувати найменший розмір кластера (щоб зменшити відходи), а диск з переважно великими файлами повинен використовувати найбільший можливий розмір кластера (таким чином структури бухгалтерського обліку в кінцевому підсумку зменшуються).

Навіть на нижчому рівні, якщо кожен кластер - це лише один сектор , якщо тільки файл не є точним кратним розміру секторів на диску (зазвичай 512 байти традиційно, зараз це часто 3296 з дисками розширеного формату ), то все одно буде бути невикористаним пробілом між кінцем файлу та кінцем сектора.

Стиснення

Інший сценарій, коли ви можете побачити різницю між фактичним розміром файлу та розміром на диску, є стисненням. Коли диск накопичується (наприклад, за допомогою DriveSpace , стиснення NTFS тощо), то буде різниця між розміром фактичного файлу (який потрібно знати) та фактичним розміром, який займає файл (тобто використовує або "займає") на диску.

Ярлики та посилання

Ще один сценарій, який може призвести до різниці, - це тверді посилання . У файлових системах, що підтримують жорсткі посилання, коли створюється дублікат файлів, замість того, щоб створювати зовсім новий файл, який займає простір для себе, файлова система створює ярлик до файлу, щоб обидва (або всі три тощо) копії вказують на той самий фізичний файл на диску. Тому, коли є два файли, що вказують на однакові дані, кожен з них має однаковий розмір, але займає лише трохи більше місця, щоб зберігати одну копію.


Насправді з одиницями розподілу 1B список не обов'язково повинен займати весь носій. Всього восьма частина розміру. Це тому, що вам потрібен лише один біт, щоб сказати, використовується блок чи вільний.
flarn2006

Накладні витрати також включають дані, які вказують, що кілька одиниць розподілу належать до одного файлу. Якщо ви скажете, що кожен байт має ще один біт, який вказує на те, що дані переходять у наступний байт, це вирішує це, але занадто наївне для сучасного розміру / продуктивності диска, тому що якщо наступний байт не вільний КОЖЕН байт жорсткого диска, можливо, знадобиться переїхали. Реально вам знадобиться більше накладних витрат, щоб вказати зміщення наступної одиниці розподілу або призначити ідентифікатор файлів ідентифікаторів для кожного блоку розподілу.
Пенсіонер-помічник

4

Інша річ, яка може значно зменшити значення Size on Disk - це ситуації, коли файл насправді не зберігається на диску, але все ще доступний різними засобами.

Наприклад, функція офлайн-файлів OneDrive дозволяє користувачеві зберігати файл таким чином, щоб він був доступний через Інтернет-з'єднання. Файл все ще існує на диску і має певний розмір, але оскільки він не знаходиться на диску до його завантаження, він не займає місця.

Вікно властивостей папки OneDrive.  Розмір папки - 171 ГБ, але розмір на диску - 31,7 ГБ.

Приклад у папці всередині ...

Вікно властивостей папки з відредагованим іменем.  Розмір папки - 379 Мб, але розмір на диску - 0 байт.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.