Чому в Windows 8 швидкість запуску швидша? [зачинено]


28

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

Чому Windows 8 запускається швидше порівняно з Windows 7? Це питання послуг, і, отже, чи можемо ми налаштувати Windows 7, щоб мати той самий час запуску?


1
Відповідь учасника "Користувач" нижче - головна причина, але так, вони зробили обробку сервісів, які завантажують вікна зовсім трохи від W7, що також допомагає.
Моав

1
Часу для встановлення додатків ще було менше ...; P
n611x007

Відповіді:


37

З блогу " Збірка Windows 8" :

Тепер ось ключова відмінність для Windows 8: як і в Windows 7, ми закриваємо сеанси роботи з користувачем, але замість того, щоб закривати сеанс ядра, ми перебуваємо в сплячку. Порівняно з повноцінним сплячим режимом, який включає багато сторінок пам'яті, якими користуються програми, дані сеансу 0 зі сплячки значно менші, що вимагає значно меншого часу для запису на диск. Якщо ви не знайомі зі сплячкою, ми ефективно зберігаємо стан системи та вміст пам’яті у файл на диску (hiberfil.sys), а потім знову читаємо це резюме та відновлюємо вміст назад у пам’яті. Використання цієї методики при завантаженні дає нам значну перевагу під час завантаження, оскільки читання гіберфайлів та повторна ініціалізація драйверів набагато швидше для більшості систем (на 30-70% швидше для більшості перевірених нами систем).

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

Напевно, варто швидко згадати, як ми ставимося до hiberfile - якби ти прочитав це і негайно пішов і робив dir / s / ah hiberfile.sys, ти б виявив, що це досить великий файл на диску. Файл hiberfile розміром за замовчуванням становить 75% фізичної оперативної пам’яті. Файл, по суті, є резервом для даних про сплячку, які будуть виписані, коли система переходить у сплячку. Зазвичай використовується набагато менше місця, а в разі нашого швидкого запуску, це зазвичай ~ 10-15% фізичної оперативної пам’яті, але змінюється залежно від драйверів, служб та інших факторів. Система також сприймає hiberfile дещо інакше, ніж інші файли на диску, наприклад, сервіс Volume Snapshot ігнорує його (невелика користь від продуктивності. ) Ви можете відключити сплячку та повернути цей простір, запустивши powercfg / hibernate off з підвищеного командного рядка. Але майте на увазі, що якщо ви це зробите, це повністю відключить сплячку, включаючи деякі приємні можливості, такі як швидкий запуск, а також гібридний сон, що дозволяє настільним системам одночасно робити сон і сплячку, так що, якщо відбувається втрата електроенергії, ви все одно можете відновити від сплячого стану. Ви також можете запустити powercfg / hibernate / size та вказати значення від 0 до 100 для відсотка фізичної оперативної пам’яті, резервуючи для hiberfile - але будьте уважні! Визначення занадто невеликого розміру може спричинити збій сплячки. Загалом, я рекомендую залишити його включеним за значенням за замовчуванням, якщо ви не працюєте в системі з надзвичайно обмеженим дисковим простором. він повністю відключить сплячку, включаючи деякі приємні можливості, такі як швидкий запуск, а також гібридний сон, що дозволяє настільним системам одночасно спати і перезимовувати, тому, якщо трапляється втрата електроенергії, ви все одно можете повернутися зі стану сплячого. Ви також можете запустити powercfg / hibernate / size та вказати значення від 0 до 100 для відсотка фізичної оперативної пам’яті, резервуючи для hiberfile - але будьте уважні! Визначення занадто невеликого розміру може спричинити збій сплячки. Загалом, я рекомендую залишити його включеним за значенням за замовчуванням, якщо ви не працюєте в системі з надзвичайно обмеженим дисковим простором. він повністю відключить сплячку, включаючи деякі приємні можливості, такі як швидкий запуск, а також гібридний сон, що дозволяє настільним системам одночасно спати і перезимовувати, тому, якщо трапляється втрата електроенергії, ви все одно можете повернутися зі стану сплячого. Ви також можете запустити powercfg / hibernate / size та вказати значення від 0 до 100 для відсотка фізичної оперативної пам’яті, резервуючи для hiberfile - але будьте уважні! Визначення занадто невеликого розміру може спричинити збій сплячки. Загалом, я рекомендую залишити його включеним за значенням за замовчуванням, якщо ви не працюєте в системі з надзвичайно обмеженим дисковим простором. що дозволяє настільним системам одночасно спати і переносити сплячку, тому, якщо трапляється втрата електроенергії, ви все одно можете повернутися зі стану сплячого. Ви також можете запустити powercfg / hibernate / size та вказати значення від 0 до 100 для відсотка фізичної оперативної пам’яті, резервуючи для hiberfile - але будьте уважні! Визначення занадто невеликого розміру може спричинити збій сплячки. Загалом, я рекомендую залишити його включеним за значенням за замовчуванням, якщо ви не працюєте в системі з надзвичайно обмеженим дисковим простором. що дозволяє настільним системам одночасно спати і переносити сплячку, тому, якщо трапляється втрата електроенергії, ви все одно можете повернутися зі стану сплячого. Ви також можете запустити powercfg / hibernate / size та вказати значення від 0 до 100 для відсотка фізичної оперативної пам’яті, резервуючи для hiberfile - але будьте уважні! Визначення занадто невеликого розміру може спричинити збій сплячки. Загалом, я рекомендую залишити його включеним за значенням за замовчуванням, якщо ви не працюєте в системі з надзвичайно обмеженим дисковим простором.


Зимова сплячка - це не вся історія. Я не знаю, що вони змінили, але навіть без сплячки ядра мій черевик для ноутбука кидає помітно швидше з Win8, ніж Win7 (і у мене є SSD і двоядерний процесор) ... якийсь компонент повинен бути змінений, щоб зробити це трапляється, але я не знаю, що.
Мехрдад

2
Замість того, щоб копіювати та вставляти відповідь, краще було б узагальнити статтю, а потім посилатися на неї. Цитування статей чудово, але не в масивних шматках.
Джеймс Мерц

2
Зображення підсумовує його.
Елмо

17

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

  • Ви натискаєте вимкнення
  • Ваш ПК закриває сеанс 1 (сесія користувача) і записує сеанс 0 у файл hiberfil.sys на вашому жорсткому диску.
  • Під час завантаження комп'ютера він зчитує вміст сеансу 0 з файлу hiberfil.sys і повертає його назад у пам'ять. Потім він ініціалізує новий сеанс для вас.

Щоб відповісти на ваше друге питання, оскільки це модифікація ядра, цього не можна зробити в Windows 7.

З інтересу ви можете зробити повне (класичне) відключення, використовуючи shutdown.exe з командного рядка.

shutdown /s /t 0

Якщо ви хочете зробити гібридне відключення, ви можете скористатися:

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