Чому комп’ютери повільно повертаються із сплячого режиму?


22

Hibernation повинен виписати вміст оперативної пам’яті на диск, а повернувшись зі сплячки, він повинен заповнити оперативну пам’ять збереженим вмістом. Чому повернення зі сплячки повільне, наприклад, система взагалі дуже не реагує?


1
Спробуйте скористатися комп'ютером, який використовує твердотільний накопичувач (SSD), наприклад MacBook Pro. Це майже миттєво, більшість часу.
Стюарт

1
зафіксуйте слід зі сплячки / відновлення за допомогою xbootmgr та проаналізуйте, що повільно: msfn.org/board/index.php?showtopic=140247
magicandre1981

Я використовую сплячий режим на своєму робочому ноутбуці, але для його прискорення спочатку закриваю всі свої додатки (використовуючи невелику утиліту під назвою closeall ntwind.com/software/utilities/close-all.html )
Morgan T.

Відповіді:


19

Основна причина - введення / виведення диска. Читання та запис на фізичний диск набагато повільніше, ніж з оперативної пам'яті. Коли комп'ютер поновлюється з диска (сплячка), він також повинен живити компоненти, що може спричинити деяке уповільнення. Це сильно залежить від комп'ютера. SSD буде мати майже таку ж швидкість відновлення з диска, що і з оперативної пам'яті. Деякі комп’ютери дозволяють вам переміщувати мишу до того, як баран знову повністю заповниться, що спричинить низький час відгуку.

Примітка. Припустимо, у вас є 8 Гб оперативної пам’яті та SSD з пропускною здатністю 400 МБ / с. Це займе 8 * 1024 МБ / 400 МБ / с = 20,48 с. Це не така швидкість, як резюме з оперативної пам'яті.

Якщо припустити пропускну спроможність оперативної пам’яті 15 000 МБ / с, час відновлення становить 0,55 секунди.


5
Reading and writing to a physical disk is much slower than from RAM. Так, але читання швидше, ніж написання, так чому б для читання жорсткого диска знадобилось стільки часу, ніж його написання?
Synetech

1
@Synetech це? Якщо ви просто приурочуєте сплячий режим від попадання на опцію до замикання екрана (на відміну від зупинки активності диска), операційна система, ймовірно, вимикає її рано, тому схоже, що вона не затихла. Якщо ви вимірюєте відключення через IO час, є кілька можливостей. За допомогою SDD я перевірив би, чи фрагментарний файл сторінки є тим, що SSD-файли швидше випадкових записів, ніж випадкові зчитування. Інакше я б міркував, що дегібернація повільніше через затримки перезавантаження деяких апаратних компонентів, які були вимкнені не через продуктивність вводу-виводу.
Dan Neely

@DanNeely, насправді я знаю, що ти маєш на увазі. Мене часто дратувало, що коли я натискаю сплячку, екран швидко вимикається, але сам диск все ще молотить досить часто (часто хвилину-дві більше). Це насправді дратує, оскільки ви не можете просто забрати ноутбук і закинути його в сумку, оскільки привід все ще крутиться і рухається, це збільшить шанси на аварію (очікування краще для швидкого вимикання). Однак я також знаю, що говорять про захоплення; іноді відновлення займає багато часу (ну Windows відновиться досить швидко, але світлодіод жорсткого диска довго горить).
Synetech

@Synetech - ще одна причина побажати, щоб SSD були досить дешевими, щоб бути універсальними.
Dan Neely

3

Хоча оперативна пам’ять дуже швидка, жорсткий диск - навпаки. Уявіть, що вам доведеться скопіювати вміст оперативної пам’яті, який може бути близько 16 Гб, з жорсткого диска. Це 4 DVD-диски. Побачити?


3

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

Усі ми знаємо, що читання сектора з прядильного диска займає практично стільки ж часу, як і записування цього сектору на той же прядильний диск - час пошуку + обертання. Тому ми можемо очікувати, що запис інформації з оперативної пам’яті на диск (у сплячому режимі) займе приблизно той самий час, коли читання цієї самої оперативної пам’яті з диска (відновлення зі сну). Але це не трапляється так через пейджинг попиту.

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

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

Як зазначає Synetech, в цьому є і трохи людської психології: оскільки екран вимикається відразу на початку сплячки, здається, він швидко вимикається. І користувач може негайно продовжувати все, що б ви хотіли зробити. Але після резюме зі сплячки користувач намагається щось зробити, і невеликі затримки дратують, оскільки вони перешкоджають тому, що намагається зробити користувач.


2

Я знаю, що ти маєш на увазі. Насправді здається, що світлодіод HDD блимає протягом тривалого часу після відновлення в сплячому режимі.

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

Коли ви перебуваєте в сплячому режимі, Windows передає оперативну пам'ять на накопичувач. Незважаючи на високі швидкості для читання оперативної пам’яті та запису на диск (навіть із дефрагментованим файлом сплячки на великому порожньому диску), для запису декількох гігабайт потрібно ще досить багато часу (ви помітите, що впадає в сплячку та відновлення системи з невеликою кількістю оперативної пам’яті. далеко не швидко). Екран швидко вимикається, але накопичувач (і материнська плата, вентилятори тощо) все на деякий час залишається запущеним до тих пір, поки не закінчиться промивка оперативної пам’яті на диску. (Переконайтеся, що не кидайте ноутбук із жорстким диском, поки він не закінчиться і повністю не вимкне диск).

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

Чому тоді здається, що відновлення займає більше часу. Цьому є два пояснення.

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

  2. Це пейджінг. Оскільки більшість людей використовують сплячий режим замість вимкнення, тому що вони хочуть уникнути виходу з програм, і так, щоб вони могли забрати місце, де вони зупинилися, це означає, що коли Windows поновлюється, існує купа програм, які вже працюють і вже споживають пам'ять. Оскільки минуло значну кількість часу з останнього разу, коли менеджер пам’яті Windows перевірив систему, вона, ймовірно, зробить купу пам’яті пам’яті, оскільки, з точки зору, деякі програми на деякий час дрімають, а інші мають активізуватися. Ця заміна, звичайно, займає деякий час і переточує диск на деякий час.

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

Якщо ви вирішили це зробити, ви можете остаточно дізнатися (принаймні, у вашій системі), що є вузьким місцем, виконавши кілька простих тестів, таких як використання монітора процесів для спостереження за активністю диска / файлу, поки Windows перезимує та відновить, чи все це молотіння відбувається через доступ до hiberfil.sysабо pagefile.sys.


1
мені подобається психологічний підхід. Зимова сплячка на звичайних старих жорстких дисках погано розроблена в режимі UX, або вона ніколи не мала існувати.
smonff
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.