Почему время запуска в Windows 8 быстрее? [закрыто]

28

Несколько человек провели тесты, сравнивая Windows 8 с Windows 7. Многие функции не улучшаются, но, соответственно, время запуска лучше.

Почему Windows 8 запускается быстрее по сравнению с Windows 7? Это вопрос сервисов, и, следовательно, можем ли мы настроить Windows 7 для того же времени запуска?

Михаил
источник
1
Ответ участника "Пользователь" ниже является основной причиной, но да, они действительно урезали службы, которые загружаются с окнами, немного от W7, что также помогает.
Моав
1
У
меня

Ответы:

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 из командной строки с повышенными привилегиями. Но имейте в виду, что если вы сделаете это, он полностью отключит спящий режим, включая некоторые приятные возможности, такие как быстрый запуск, а также гибридный спящий режим, который позволяет настольным системам одновременно выполнять спящий режим и спящий режим, поэтому в случае потери питания вы все равно можете возобновить работу. из спящего состояния. Вы также можете запустить powercfg / hibernate / size и указать значение от 0 до 100 для процента физической памяти, резервируемой для гиберфайла, но будьте осторожны! Задание слишком маленького размера может привести к сбою гибернации. В общем, я рекомендую оставить его включенным со значением по умолчанию, если вы не работаете в системе с чрезвычайно ограниченным дисковым пространством. он полностью отключит режим гибернации, включая некоторые приятные возможности, такие как быстрый запуск, а также гибридный спящий режим, который позволяет настольным системам одновременно выполнять спящий режим и режим гибернации, поэтому в случае потери питания вы все равно можете выйти из спящего режима. Вы также можете запустить powercfg / hibernate / size и указать значение от 0 до 100 для процента физической памяти, резервируемой для гиберфайла, но будьте осторожны! Задание слишком маленького размера может привести к сбою гибернации. В общем, я рекомендую оставить его включенным со значением по умолчанию, если вы не работаете в системе с чрезвычайно ограниченным дисковым пространством. он полностью отключит режим гибернации, включая некоторые приятные возможности, такие как быстрый запуск, а также гибридный спящий режим, который позволяет настольным системам одновременно выполнять спящий режим и режим гибернации, поэтому в случае потери питания вы все равно можете выйти из спящего режима. Вы также можете запустить powercfg / hibernate / size и указать значение от 0 до 100 для процента физической памяти, резервируемой для гиберфайла, но будьте осторожны! Задание слишком маленького размера может привести к сбою гибернации. В общем, я рекомендую оставить его включенным со значением по умолчанию, если вы не работаете в системе с чрезвычайно ограниченным дисковым пространством. что позволяет настольным системам одновременно выполнять спящий режим и режим гибернации, поэтому в случае потери питания вы все равно можете выйти из режима гибернации. Вы также можете запустить powercfg / hibernate / size и указать значение от 0 до 100 для процента физической памяти, резервируемой для гиберфайла, но будьте осторожны! Задание слишком маленького размера может привести к сбою гибернации. В общем, я рекомендую оставить его включенным со значением по умолчанию, если вы не работаете в системе с чрезвычайно ограниченным дисковым пространством. что позволяет настольным системам одновременно выполнять спящий режим и режим гибернации, поэтому в случае потери питания вы все равно можете выйти из режима гибернации. Вы также можете запустить powercfg / hibernate / size и указать значение от 0 до 100 для процента физической памяти, резервируемой для гиберфайла, но будьте осторожны! Задание слишком маленького размера может привести к сбою гибернации. В общем, я рекомендую оставить его включенным со значением по умолчанию, если вы не работаете в системе с чрезвычайно ограниченным дисковым пространством.

Elmo
источник
Спячка ядра - это еще не все. Я не знаю, что они изменили, но даже без спящего режима ядра мой ноутбук загружается заметно быстрее с Win8, чем с Win7 (и у меня есть SSD и двухъядерный процессор) ... некоторые компоненты должны были быть изменены, чтобы сделать это случилось, но я не знаю что.
Мердад
2
Вместо того, чтобы копировать и вставлять ответ, было бы лучше обобщить статью и затем сослаться на нее. Цитирование статей это хорошо, но не в больших кусках.
Джеймс Мерц
2
Изображение суммирует это.
Elmo
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
Тейлор Гибб
источник