Статьи

Підвищуємо швидкість читання з жорсткого диска в Windows XP

  1. Визначаємо розмір кластера
  2. Змінюємо поведінку файлової системи - fsutil
  3. Розмір файлу підкачки pagefile.sys (віртуальна пам'ять)
  4. Розміщення файлу підкачки на іншому жорсткому диску
  5. Розподіл часу процесора і Використання пам'яті
  6. Реєстр і продуктивність HDD
  7. ContigFileAllocSize
  8. IoPageLockLimit
  9. Перевіряємо результат оптимізації
  10. підсумки
  11. Посилання по темі:
  12. Рекомендований контент

Сидимо, чекаємо і чекаємо, а ПК все тупить і тупить. Здається, що швидкість читання з жорсткого диска в Windows XP впала нижче плінтуса, постійно червоним горить сигнальна лампочка жорсткого диска. Як же збільшити швидкість читання з жорсткого диска в Windows XP?

Не будемо навантажувати систему зайвими програмами-твікера, а скористаємося стандартними засобами самої ОС Windows XP.

Визначаємо розмір кластера

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

Але, наприклад під розділ з великими файлами (аудіо, відео, софт і т.д.), краще вибирати максимальний розмір кластера в 64 кб, - це знизить фрагментацію і підвищить продуктивність диска.

Розмір кластера і файлову систему можна вибрати тільки перед форматуванням розділу.

Змінюємо поведінку файлової системи - fsutil

У стандартному наборі Windows XP є утиліта fsutil, яка допоможе нам налаштувати файлову систему. Насамперед перевіримо значення параметрів disable8dot3, allowextchar і disablelastaccess:

fsutil behavior query disable8dot3 disable8dot3 = 0 fsutil behavior query disablelastaccess disablelastaccess не встановлено fsutil behavior query allowextchar allowextchar не встановлено
  • disablelastaccess - оновлювати чи штамп часу останнього доступу.
  • disable8dot3 - Коли значення параметра disable8dot3 = 0, то при кожному створенні файлу з довгим ім'ям, файлова система NTFS або FAT створює додатково другий запис для файлу з довжиною імені 8.3 символу.
  • allowextchar - Включає / відключає використання в коротких іменах файлів 8.3 символів з розширеного набору символів, включаючи діакритичні знаки .

Встановлюємо значення параметрів disable8dot3, allowextchar і disablelastaccess:

fsutil behavior set disablelastaccess 1 fsutil behavior set disable8dot3 1 fsutil behavior set allowextchar 0

Розмір файлу підкачки pagefile.sys (віртуальна пам'ять)

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

Як визначити мінімальний і максимальний розміри файлу підкачки (віртуальної пам'яті)? - це можна зробити за допомогою Process Explorer'a натиснувши CTRL + I або вибравши в меню програми View / System Information за показаннями "Commit Charge (K)" або ж "Виділення пам'яті (КБ)" з стандартному диспетчері завдань, але перед цим потрібно знати розмір файлу підкачки "За вибором системи", після чого максимально пригрузить систему усіма тими додатками, якими Ви користуєтеся щодня.

| - Commit Charge (K) ----- | Current 1 681 428 | | Limit 5 138 164 | | Peak 2 404 324 | | ----------------------- | | Network 46.79% | | Current / Limit 32.70% | ---------------------------

З "Commit Charge (K)" видно поточний розмір файлу підкачки (віртуальної пам'яті) "Current" і максимальне / піковий "Peak" значення. Так чи інакше не рекомендується встановлювати розмір файлу підкачки менш ніж в 1.5 (півтора) розміру наявної оперативної пам'яті.

Фіксувати розмір файлу підкачки для уявної захисту від фрагментації не рекомендується имхо еже палиця завжди має два кінці. Тобто встановивши недостатнє значення можемо отримати брак, встановивши велике значення отримаємо повільну роботу з файлом pagefile.sys. Мій ПК постійно чимось завантажений - фотожоп, компілінг, сервера, виртуалка, чати, редактори, куркулятори, аналізатори і т.д. :), які буває пожирають до 3 і більше ГБ файлу підкачки, а тому я ніколи не парюся з вибором розміру для pagefile.sys і просто встановлюю або "За вибором системи" або мінімум в два рази від наявної оперативної пам'яті і максимально можливий розмір відповідно бо кожен рабою день відрізняється споживанням файлу підкачки від 1 до 3 і більше ГБ.

Розміщення файлу підкачки на іншому жорсткому диску

Ще хорошим ходом, який підвищить швидкість читання з жорсткого диска в Windows XP, буде переміщення файлу підкачки з системного диска на інший жорсткий диск (не інший розділ, а саме інший диск!), Переміщення ж файлу підкачки pagefile.sys на інший розділ в межах одного диска відчутного приросту швидкості читання / запису з жорсткого диска не принесе, хоча при цьому і може мати якийсь сенс. У той же час потрібно відключити файл підкачки на системному розділі (зазвичай це диск С: \) і створювати його там тільки тоді, коли потрібна буде налагоджувальна інформація, наприклад якщо система випала в BSOD, то на системному диску створюємо підкачування до виявлення граблів, а після знову відключаємо його.

Найкращим варіантом для файлу підкачки буде жорсткий диск "SSD SATA" або в ідеалі "SSD PCI Express". Жорсткі SSD диски зі способом підключення SATA будуть набагато дешевше, ніж SSD диски зі способом підключення з через слоти PCI Express, але і швидкість читання записи також буде різна, - але в будь-якому випадку файл підкачки на SSD диску буде набагато спритніше працювати ніж на звичайному жорсткому диску! Детальніше про SSD диск .

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

  1. Спробуйте уникати розміщення pagefile.sys (файлу підкачки) на тому ж диску, де розташовані системні файли, зазвичай це диск C: \.
  2. Не ставте pagefile.sys (файлу підкачки) на відмовостійкість диску томи RAID-5 або дзеркального тому, інакше можливе уповільнення швидкості запису / читання даних, оскільки вони будуть записуватися відразу в кілька місць.
  3. Не створюйте кілька pagefile.sys (файлу підкачки) в різних розділах в межах одного фізичного диска.

Якщо є інший жорсткий диск з декількома розділами, то можна розбити файл підкачки на кілька файлів, наприклад по 750 МБ, кожен з яких розмістити в окремому розділі - це по ідеї повинно прискорити читання / запис віртуальної пам'яті.

Якщо комусь не подобається розмір з'їдається, системним кешем, оперативної пам'яті, то можете пошамініть утилітою CacheSet але, особливого сенсу в цьому немає бо система знову його заповнить або звільнить залежно від своїх потреб!

Розподіл часу процесора і Використання пам'яті

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

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

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

  • служби, що працюють у фоновому режимі - це ті служби / процеси, які не надають призначеного для користувача інтерфейсу / вікна, наприклад yoкрн :) тобто ekrn.exe, svchost.exe, system і т.д .;
  • системний кеш - це частина виділеної фізичної (оперативної) пам'яті, яка служить для збереження частин файлів / даних, до яких останнім часом були звернення, змінюється динамічно в залежності від активності і потреб системи, після закінченні певного часу незатребувані збережені частини файлів / даних скидаються в файл підкачки.

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

Реєстр і продуктивність HDD

Настав час копнути ще трохи глибше ...

ContigFileAllocSize

Параметр DWORD "ContigFileAllocSize" по ідеї повинен розташовуватися за адресою HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ FileSystem і повинен регулювати розмір безперервного простору, який на жорсткому диску повинна виділити система, під запис файлу, - збільшення значення цього параметра має знизити фрагментацію диска і отже підвищити продуктивність, особливо при роботі з великими файлами (аудіо, відео і т.п.).

Однак, на сайті microsoft.com "ContigFileAllocSize site: microsoft.com" досить мало офіційної інформації з цього параметру і імовірно він відноситься тільки до "Microsoft Windows 98".

Опис цього параметра також відсутній і в бібліотеці на technet.microsoft.com , А тому не можна однозначно сказати, чи враховується цей параметр системою, але в будь-якому випадку можна спробувати ...

На деяких сайтах жертви "копальні / пасти" можуть помилково вказувати значення даного параметра в байтах замість кілобайт, - правильне значення в КБ.! Також на microsoft.com не потрудилися уточнити в якій системі числення потрібно вводити значення, в шістнадцятковій або ж десяткової, коротше кажучи здогадайся сам, але тут значення "Value Name" даного параметра вказано в десятковій системі числення.

IoPageLockLimit

Параметр DWORD "IoPageLockLimit" в гілці HKLM \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ Memory Management визначає в байтах розмір резервованій оперативної пам'яті для операцій введення / виводу і чим вище буде значення, тим оперативніше буде робота з жорстким диском.

Однак, всюди потрібно знати міру. Рекомендується встановлювати значення даного параметра в межах 15-25% від загальної оперативної пам'яті, наприклад, - якщо у нас є 1 ГБ (1024 МБ), то оптимальним значенням цього параметра в десятковій системі (decimal) дорівнюватиме близько 200 МБ, що в десяткового системі (decimal) в байтах буде 0x0c800000 (209715200)

Перевіряємо результат оптимізації

Для перевірки можна використовувати програму з відкритим вихідним кодом CrystalDiskMark .

До оптимізації:

-------------------------------------------------- --------------------- CrystalDiskMark 3.0.3 (C) 2007-2013 hiyohiyo Crystal Dew World: http://crystalmark.info/ ------ -------------------------------------------------- --------------- * MB / s = 1,000,000 byte / s [SATA / 300 = 300,000,000 byte / s] Sequential Read: 130.746 MB / s Sequential Write: 115.600 MB / s Random Read 512KB: 51.285 MB / s Random Write 512KB: 69.450 MB / s Random Read 4KB (QD = 1): 0.793 MB / s [193.6 IOPS] Random Write 4KB (QD = 1): 1.743 MB / s [425.5 IOPS] Random Read 4KB (QD = 32): 1.038 MB / s [253,3 IOPS] Random Write 4KB (QD = 32): 1.931 MB / s [471.5 IOPS] Test: 50 MB [E: 30.6% (1565.1 / 5122.3 MB)] (x3 ) Date: 2014/05/24 10:57:06 OS: Windows (x86)

Після оптимізації:

-------------------------------------------------- --------------------- CrystalDiskMark 3.0.3 (C) 2007-2013 hiyohiyo Crystal Dew World: http://crystalmark.info/ ------ -------------------------------------------------- --------------- * MB / s = 1,000,000 byte / s [SATA / 300 = 300,000,000 byte / s] Sequential Read: 149.559 MB / s Sequential Write: 123.867 MB / s Random Read 512KB: 63.696 MB / s Random Write 512KB: 85.223 MB / s Random Read 4KB (QD = 1): 0.906 MB / s [221,2 IOPS] Random Write 4KB (QD = 1): 2.185 MB / s [533.5 IOPS] Random Read 4KB (QD = 32): 1.098 MB / s [268.1 IOPS] Random Write 4KB (QD = 32): 2.374 MB / s [579.5 IOPS] Test: 50 MB [E: 30.6% (1565.1 / 5122.3 MB)] (x3 ) Date: 2014/05/26 22:09:20 OS: Windows (x86)

Зрозуміло, що для отримання більш менш об'єктивного результату тест потрібно запускати кілька разів і після перезавантаження в нормальному режимі роботи, тобто коли не запущені мультимедіа плеєри, ігри тощо.

підсумки

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

Якщо справедливе не розподілити наявні ресурси між встановленим ПО, шляхом його правильного налаштування, і правильно НЕ конфігурувати або не використовувати за призначенням системне ПО, то ніякі оптимізатори і твікери 99-100% не допоможуть!

Сподіваюся, що наведені вище рекомендації допоможуть Вам підвищити швидкість читання з жорсткого диска в Windows XP. Аптайм мого ПК складає до одного місяця, тобто рівно стільки, скільки потрібно дядечкові Білу щоб випустити і опублікувати патчі вимагають перезавантаження ОС! :)

Посилання по темі:

Автор: Олег Головський

Рекомендований контент


про автора

Юрист, програміст, спортсмен, бізнесмен і просто красень.

Ще статті автора


Як же збільшити швидкість читання з жорсткого диска в Windows XP?
Як визначити мінімальний і максимальний розміри файлу підкачки (віртуальної пам'яті)?

Новости