20

Спящий режим должен записывать содержимое ОЗУ на диск, а возвращение из спящего режима должно заполнять ОЗУ сохраненным содержимым. Почему медленный возврат из спящего режима, например, система довольно долго не отвечает вообще?

4 ответа4

18

Основная причина - дисковый ввод-вывод. Чтение и запись на физический диск намного медленнее, чем из оперативной памяти. Когда ваш компьютер возобновляет работу с диска (гибернация), он также должен включать компоненты, что может привести к некоторому замедлению работы. Это сильно зависит от компьютера. SSD будет иметь почти такую же скорость возобновления с диска, как и из RAM. Некоторые компьютеры позволяют перемещать мышь до того, как оперативная память снова будет полностью заполнена, что приводит к снижению времени отклика.

Примечание. Предположим, у вас 8 ГБ ОЗУ и SSD с пропускной способностью 400 МБ / с. Это все равно займет 8 * 1024 МБ / 400 МБ / с = 20,48 с. Это не та же скорость, что и резюме из ОЗУ.

Предполагая пропускную способность ОЗУ 15 000 МБ / с, время возобновления составляет 0,55 секунды.

3

Хотя ОЗУ очень быстро, жесткий диск с точностью до наоборот. Представьте, что вам нужно скопировать содержимое вашей ОЗУ, которое может составлять около 16 ГБ, с жесткого диска. Это 4 DVD. Увидеть?

3

Это компромисс. Извлекаем ли мы все, что было в ОЗУ до перехода в режим гибернации, обратно с диска в ОЗУ одновременно или только по мере необходимости, по мере необходимости?

Все мы знаем, что чтение сектора с вращающегося диска занимает практически то же время, что и запись этого сектора на тот же вращающийся диск - время поиска + вращения. Поэтому можно ожидать, что запись информации из ОЗУ на диск (в спящем режиме) займет примерно то же время, что и чтение той же самой ОЗУ с диска (возобновление из спящего режима). Но этого не происходит из-за пейджинга спроса.

Если операционная система загрузит все сразу, то возобновление из спящего режима займет десятки секунд, но после этого оно будет действовать так же, как если бы вы вообще никогда не спали.

Программисты ОС обычно выбирают пейджинг по требованию . Другими словами, ОС тянет с диска только немного по мере необходимости. Преимущество этого в том, что для возврата из спящего режима требуется гораздо меньше времени, прежде чем он начнет реагировать на нажатия клавиш клавиатуры и мыши. С другой стороны, когда вы впервые используете что-то после спящего режима, есть небольшая, но заметная задержка, когда ОС наконец-то доходит до загрузки. Это происходит даже тогда, когда "первый раз" вы используете что-то, может быть через несколько минут после спящего режима. Таким образом, после выхода из режима гибернации (т. Е. После того, как вы видите экран, который кажется более или менее идентичным экрану непосредственно перед режимом гибернации), работа с машиной может на некоторое время показаться вялой.

Как указала Synetech, здесь задействована и человеческая психология: поскольку в начале спящего режима экран выключается сразу же, кажется, что он быстро выключается. И пользователь может немедленно продолжить все, что вы хотели сделать. Но после выхода из спящего режима пользователь пытается что-то сделать, и небольшие задержки раздражают, потому что мешают тому, что пользователь пытается сделать.

2

Я знаю, что Вы имеете ввиду. Похоже, светодиод HDD долго мигает после выхода из спящего режима.

Некоторые разумные объяснения были даны о задержках из-за запуска оборудования (и ускорения драйвера?) и фрагментация (вы заметите, что новая система с завода, как правило, находится в спящем режиме и возобновляет работу довольно быстро, в то время как система, которая использовалась в течение некоторого времени, будет гораздо медленнее). Есть несколько дополнительных объяснений этого поведения.

Когда вы переходите в спящий режим, Windows сбрасывает ОЗУ на диск. Несмотря на высокую скорость чтения ОЗУ и записи на диск (даже при дефрагментированном файле гибернации на большом пустом диске), для записи нескольких гигабайт все равно требуется много времени (вы заметите, что система находится в спящем режиме и возобновляет работу системы с небольшими объемами ОЗУ). очень быстро). Экран быстро отключается, но накопитель (и материнская плата, вентиляторы и т.д.) Некоторое время остаются включенными, пока не завершится сброс оперативной памяти на диск. (Следите за тем, чтобы ноутбук с жестким диском не швырялся, пока он не закончит работу и не выключит диск полностью).

Вы можете провести несколько экспериментальных тестов, чтобы измерить время, которое требуется от нажатия кнопки гибернации до выключения системы, и времени, которое требуется с момента появления экрана « Возобновление Windows» до прекращения мигания индикатора жесткого диска. Скорее всего, они будут примерно равны. (Windows пытается создать впечатление, что она очень быстро восстанавливается из режима гибернации, сначала записывая, а затем считывая ядро и прочее в файл гибернации, чтобы он мог сразу же вернуться к работе и продолжить загрузку, а затем продолжить загрузку в остальных в фоновом режиме и по мере необходимости, пока все не будет возобновлено - это поведение можно увидеть в действии, поскольку экран входа в систему отображается очень быстро.)

Почему тогда кажется, что возобновление занимает больше времени. Есть два объяснения этому.

  1. Это психологическое. Как отметил Дэн, поскольку при выключении экрана экран сразу выключается, кажется, что он быстро выключается, а вы видите весь процесс возобновления (начальный экран и мигающий светодиод HDD).

  2. Это пейджинг. Поскольку большинство людей используют спящий режим вместо выключения, потому что они хотят избежать выхода из программ и так, чтобы они могли выбрать, где они остановились, это означает, что, когда Windows возобновляет работу, существует множество программ, уже работающих и уже потребляющих память. Поскольку с момента последней проверки диспетчера памяти Windows в системе прошло значительное количество времени, он, вероятно, в конечном итоге выполнит кучу перестановок памяти, так как с его точки зрения некоторые программы некоторое время бездействовали, а другие стать активным. Этот обмен, конечно же, занимает некоторое время и на некоторое время сбивает диск.

Конечным результатом, вероятно, является сочетание факторов и взаимодействий между активацией оборудования, разбиением на страницы, психологией и фрагментацией.

Если вы готовы, вы можете окончательно выяснить (по крайней мере, в вашей системе), что является узким местом, выполнив несколько простых тестов, таких как использование Process Monitor для наблюдения за работой диска / файла, в то время как Windows спит и возобновляет работу, чтобы увидеть, все ли молотить из-за доступа к hiberfil.sys или pagefile.sys .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .