Чому швидкість видалення в Windows часто періодична?


13

Що з цікавості, що є причиною періодичного періоду видалення? У Windows 8 вікно діалогу видалення показує швидкість видалення на діаграмі.

Вікно діалогу про видалення Windows 8

Якщо немає підстав, звичайно, це була б і відповідь.


4
у вас в папці 100 000 файлів, всі вони мають різний розмір, вимірювання - Елементи в секунду, тим чим менше елементів, тим швидше елементи будуть видалені.
— Рамхаунд

3
@Ramhound, не здається, що це пов'язано з різним розміром файлу. Синусоїдальний характер графа надто регулярний.
— GaTechThomas

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

2
Якесь кешування? Купа запитів на видалення розмивається на вершинах графіка?
— Джессі Слікер

1
Я бачив це теж іноді зі значно більшими хвилями.
— Моше Кац

Відповіді:


5

Є кілька причин:

  1. Безперервність даних: NTFS реалізується там, де він записує послідовно на диск, тому, якщо ви редагуєте файл - NTFS, можливо, доведеться зберігати зміни у непомітному секторі на вашому жорсткому диску. Це означає, що для видалення файлу може знадобитися перейти з сектора 2 до сектора 100 000 (звичайно гіпотетично), а потім назад, щоб закінчити файл. Потім він знаходить наступний сектор наступного файлу для видалення і знову може повторити цей процес.

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

  3. @Ramhound згадав фрагмент "елементи в секунду", який, як видається, підтверджено діалоговим вікном видалення ( Speed: 1.082 items/s). Таким чином, видалення величезного файлу, непоміжного файлу або невеликого файлу - все це відіграє роль у кількості елементів у секунду.

  4. Пріоритетність процесора: Цей матеріал виконується за тактовими циклами, тому ймовірно, що ваш процесор може виконувати інші процеси протягом циклу, і це може вплинути на швидкість (це гіпотеза з мого боку)


3
Windows / NTFS не знімає зайнятих блоків під час видалення файлів. Великі чи малі, суміжні або неспоріднені значення не мають.
— абстракс

@abstrask - Я не сказав, що це нічого не робить. Однак, він повинен стрибати навколо $BitMap(файл) до кожного кластеру і позначати його як вільний у використанні (тобто "видалений"). Відкриття та редагування файлу (на будь-якому рівні) вимагає ресурсів, а необхідність стрибати в ньому, це займе накладні витрати і може абсолютно сповільнити вас. Якщо файл великий - редагування займає більше часу, якщо файл не є суміжним - шукати потрібно трохи більше часу.
— nerdwaller

1
Кожен кластер представлений бітом у файлі $ Bitmap. Якщо припустити розмір одиниці розподілу за замовчуванням у 4 Кб, посилання на розподіл для файлу розміром 100 КБ становить близько 3 байт у файлі $ Bitmap. Великий файл, скажімо, 1 Гб, займає 32 КБ у файлі $ Bitmap. Навіть якби $ Bitmap був сильно фрагментований, жорсткий диск повинен був би пропустити між 32 КБ / 4 Кб / кластер = 8 кластерів, щоб позначити кластери файлу 1 ГБ для видалення. Так, для видалення великого файлу потрібно перегорнути більше бітів, але це навряд чи можна виміряти і, безумовно, не спричинить великі візуальні удари, показані на скріншоті.
— абстракс
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.