Co mě ve Windows Vista nejvíc vytáčí 4 – hibernace
Dnes se budu věnovat vlastnosti, která mě na Vistě štve úplně nejvíce a byla také možná tím úplně hlavním důvodem, proč jsem tento systém na svém vlastním notebooku relativně rychle zavrhl. Nedávno jsem tu psal o důležitosti hibernace a režimu spánku pro uživatele, kteří svůj notebook využívají opravdu naplno. Jenže k čemu je hibernace, když v součtu trvá pomalu tak dlouho jako čistý start systému? Ano, přesně to je jedním z problémů posledního vydaného OS od Microsoftu.
Tento článek jsem měl v úmyslu napsat už dávno, ale nějak jsem to odkládal. Startem pro mě byla až nedávná diskuze na serveru NOTEBOOK.cz, kde se někdo pozastavoval nad tím, že jeho nový notebook hibernuje moc dlouho. Rozhodl jsem se proti sobě postavit dva podobné notebooky, nasimulovat podobnou situaci a změřit, jak jim bude hibernace dlouho trvat.
Vista versus XP
Dva stejné notebooky jsem bohužel nesehnal. Postavil jsem proti sobě svůj Lenovo ThinkPad R61 (Core2 Duo 2,10 GHz, 2GB RAM DDR2-667) s Windows XP Professional SP3 a HP EliteBook 6930p (Core 2 Duo 2,53 GHz, 2GB RAM DDR2-800) s Windows Vista Business SP1. Až na rychlost procesoru a použitých paměťových modulů na tom byly oba notebooky parametrově stejně (HP mělo větší disk, ale měřená průměrná rychlost byla téměř stejná). Oba notebooky byly používány ke stejné velmi nenáročné práci přibližně den. Nakonec jsem spustil textový editor, prohlížeč obrázků a přehrávač MP3. Zde se můžete podívat na výsledek mého testu:
Windows XP byl při hibernaci 3x rychlejší proti Windows Vista (14 sekund proti 42 sekundám). Otázkou je, jak moc by se rozdíl ještě zvětšil, kdyby byla konfigurace obou notebooků shodná. Windows XP byly dále znevýhodněny i větším množstvím předinstalovaných utilit od Lenova, které jsou ovšem jinak užitečné, takže jsem je nemazal.
Pomalé uspávání je pro mě velmi nepříjemné, protože většinou notebook uspávám na disk nebo do RAM až v tu chvíli, kdy už potřebuji vyrazit někam jinam. Jakékoli čekání mě v takový moment štve a zdržuje. Předpokládal jsem, že by tedy mohlo být aspoň rychlejší probouzení, leč realita je jiná. Ještě před vydáním článku jsem se proto rozhodl přihodit i druhé video, kde se notebooky vedle sebe probouzí. Oba systémy dopadly v podstatě podobně. U Windows Vista sice jede disk ještě několik minut neustále, ale reakce jsou v některých momentech svižnější (něco jako že Firefox nastartuje o sekundu rychleji a podobně).
Závěrem
Netvrdilo se tenkrát při uvedení Visty, že se tyto funkce proti XP zrychlí? Kdybych více hledal, možná bych nějaké dobové články i našel. Vzhledem k tomu, že samotná práce je spíše o programech, čekal bych od dobrého systému především co nejvíce odladěné ty funkce, které za něj žádný program neudělá.
Každý nový operační systém jsem vždy vítal s otevřenou náručí a originál placky, nebo diskety mi tu leží od všemožných verzí počínaje DOSem někde u verze 5. I s Vistou jsem měl velká očekávání, která se však nenaplnila. Možná jsem zkostnatělý páprda, který prostě neocení „všechny ty úžasné novinky, které Vista má“, ale ne – těch pár vylepšení mi nevyváží nedostatky, které s Vistou přišly. Zatím to vidím tak, že Vistu přeskočím a přejdu až na jejího nástupce (dle některých pro mě důvěryhodných zdrojů je na tom s náročností znatelně lépe než Vista). Aktuální notebook stejně nemám v plánu přeinstalovat a podle toho, jak se MS činí, je možné, že ten další už bude mít nový Windows předinstalovaný.
1. mrq 13.12.2008 10:28:03
tak le logicke ze viste bude trvat uspavani dele, jelikoz obecne zabira vic pameti, i kdyz 3x je moc. spis me pak prekvapilo ze nastartovani zvladla stejne rychle, coz je pro me dulezitejsi, jelikoz pro hibernaci zmacnu tlacitko a hodim ntb do brasny a du (asi to nedela dobre disku, ale co).
2. Warcz 13.12.2008 10:30:30
Režim spanku – Lenovo R400 – 9 sekund / 6 sekund ( login obrazovka )
Hybernace – 48 sekund / 39 sekund ( Login obrazovka )
Ja hybernaci nepoužívám, nevidim duvod stači režim spánku ( každy večer jsem na nabíječce )
Co se mi na vistách libi že neztrati IP ze siťového adapteru tz po probuzeni hned jede ethernet…
3. Warcz 13.12.2008 10:33:56
to mrd – heh ono nejde o disk ale mě se jednou režim spanku neprovedl protože to zablokoval ovladač. zjistil jsem to po hodině a připekl jsem si LCD od te doby mělo žlutý nadech ve spodní časti u CPU
4. dave1x 13.12.2008 10:49:37
Naprosto souhlasím se Swarmem – taky jsem Visty z mé Toshiby vyhodil a nahrál XP. Uvidíme, jaká budou Windows 7…, ale mít Visty na notesu není, podle mě, moc dobrý nápad.
5. Damianus 13.12.2008 11:19:52
No tak to je zrejme uz davno ze to neni rozumna volba. A ohrazovat se tim ze je to novejsi a ze to zabira vice mista atd… je hloupost. Pokud se ma OS zlepsovat tak ma zlepsovat sve funkce coz v pripade viste je opak.
6. Martin Kostolany 13.12.2008 11:32:14
Uspání – 1 sec, Probuzení 0.5 sec.
Macbook :)
7. swarm 13.12.2008 11:36:57
[6] Řešíme tu uspání na disk. To už předpokládám MacBooky delší dobu nemají.
8. Zemlak 13.12.2008 14:41:00
Mě se u Visty nelíbí, jak hned jak se zmáčkne tlačítko, tak se zhasne displej a ani pak člověk neví co se děje nebo neděje.. Asi je to efektní pro normální lidi, ale mě se to prostě nelíbí.
9. Krevety 13.12.2008 14:53:09
K tomu snad jen to, ze dam notebook uspat / hibernovat zavrhu ho a hodim do baglu, tudiz je mi celkem jedno jestli se bude uspavat 15 nebo 45 sekund. Probuzeni se zda byt stejne rychle, takze problem bych v tom fakt nehledal ;)
Takze souhlas tady s mrq
10. Tomáš Fejfar 13.12.2008 15:40:00
Já osobně pracuji tak, že když chci rychle někam vyrazit, tak zaklapnu víko a počkám na pípnutí (asi tak 3s, ani ne)… Donesu kam potřebuju a tam zas otevřu a během 10s můžu normálně pracovat. Uspaný vydrží noťas celý den, takže mě to netrápí. A když nespěchám, tak hibernuju a to je opravdu pak těch 50s. Ale někde jsem četl, že to MS udělal schválně, protože chtěl podpořit použití úsporného režimu, který extrémně zrychlil a zoptimalizoval. Oproti tomu hibernaci mají jen „navíc“ protože to lidi chtějí…
11. Ondra[sej] 13.12.2008 16:49:09
[7] Četl jsem něco jako že MacBooky hibernaci a režim spánku kombinují, tj. rychle se uspí, ale pak ještě nějak postupně i hibernují na disk, takže se po čase můžou vypnout úplně a přežít bez proudu a bez baterky.
Nicméně MacBook jsem měl v ruce cca hodinu a tohle jsem nezkoušel, takže potvrzení/vyvrácení nechám na jiných, kteří to můžou vyzkoušet hned.
Jinak k tématu – kvůli rychlosti používám výhradně režim spánku a to jak na Windows, tak v Linuxu. Hibernuju vlastně jenom když chci přepínat mezi systémama bez toho, abych musel ukončovat otevřené aplikace. Jinak to, že nedojde k uspání kvůli nějakému programu už se mi taky párkrát stalo, takže raději vždy počkám, než přestane svítit dioda (vteřina, dvě).
12. LF 13.12.2008 18:55:22
[11] jj když zbíva posledních par % baterii tak se hibernuje, de to i vyvolat utilitami (tře widget Deep Sleep), takže když už tu někdo postnul data mimo, Macbook Pro (Alu) 2.4Ghz, 2GB RAM se uspava na disk asi 50s (asi 50mb free ram), probouzi se 30s za
13. Johny007 13.12.2008 21:26:00
Po přečtení článku jsem se odhodlal si také hodit Windows XP. Mým Win Vista se totiž navíc daří vycítit kdy potřebuju pracovat a na nějaké trivialitě se zaseknou, nebo se nechtějí vypnout. A jak vidím tak se to nezlepší.
14. Keff 14.12.2008 1:05:04
Koukám že už to tu je, ale stejně se zeptám – na co potřebuješ hibernaci? Chceš rychlost – uspávej, probuzení za 2s snad stačí,ne? A jestli se bojíš o data v RAM, tak je tu ve Vistě Hybrid sleep – při uspání hibernuje, když nevypadlo napájení, tak se probudí, když vypadlo, tak odhibernuje.
A nespolehlivost – tak si holt pořídím slušný HW od slušného výrobce co odladil ovladače, třeba Dell. Zmáčknu, zavřu, dám do batohu, a vím že se na 100% uspí. Kdyby někdy ne (ještě se to nestalo), přehřeje se a vypne, takže se nic neděje.
15. Warcz 14.12.2008 1:32:30
Ještě se ti asi nestalo když se přehřál NB. když maš NB v brašně tak větráky nestíhají ale CPU se nedostane na kritických 95 stupňů. teplo se krásně šíří celým NB a když ho vytáhneš nedá se na něm skoro ruka udržet. Opravdu to nikomu nepřeju, ale ja už si davám pozor
16. Fox 14.12.2008 1:33:55
Taky nevidim důvod v tom, používat hibernaci a NB už jenom uspávám. Ani nevypínám, jen když chce restart, tak restartuji. :) Takže v tomhle s Vistama nemám problém, protože uspání i obnova trvá pár sekund.
17. Ondra[sej] 14.12.2008 10:32:53
[14] Ta spolehlivost uspání není jenom o ovladačích (tam bych věřil spíš tomu, že se uspaný notebook neprobudí), ale o aplikacích, které uspání můžou aktivně bránit. A v některých případech (vypalování a obecně komunikace s externími zařízeními) to dělají i celkem oprávněně.
18. JanHavlicek 14.12.2008 11:10:45
Já už Visty zásadně vypínám. Hibernace, to je 50 na 50, jestli vyjde nebo se to zaseknea notebook se zhaslým displejem pojede dál. A stand-by mám teďka tak vychytaný, že při každým pokusu o něj se mi natvrdo restartuje NTB. Mám Visty x64 se všemy aktualizacemi a nejnovější drivery od Dellu.
Jinak to co se stalo WarCZ už se mi stalo 2x. Taky jsem si řekl, že se NTB nějak dohibernuje a ono nic, po dvou hodinách co jsem ho vytáhl byl tak horký, že jsem myslel, že je po něm. Naštěstí Inspiron 6400 vydrží asi fakt úplně všechno :)
19. Keff 14.12.2008 12:20:26
[15], [17] OK, souhlasím že to může být problém. Je fakt že osobně většinou uspím noťas, dám ho do batohu, a když balím ostatní věci, tak radši kouknu jestli mu už zhasly kontrolky…
Autorovi článku bych ještě jednou rád zdůraznil, že když potřebuje rychlost, od toho je tu sleep mode. Hibernace znamená uložit celý obsah paměti na disk, a tam jsme omezení přenosovou rychlostí disku a rychleji to prostě nepůjde, ani kdyby microsoftu vynadal dozelena.
Předpokládejme průměrný 5400ot. disk co zvládne dlouhodobě 40MB/s, jak dlouho potrvá uložení 2GB dat z RAM? 25s, a rychleji to prostě nejde ani kdyby se někdo rozkrájel.
Proč je to u Win XP rychlejší? Protože mají konzervativní memory manager, který se snaží šetřit RAM jak to jen jde (a pak zdržuje uživatele – zkuste si na WinXP zminimalizovat aplikaci, systém jí prostě odswapuje na disk a dealokuje její paměť, i kdybyste měli zrovna 2GB volné – a výsledek je čekání při alt-tabu).
Vista už ví, že volná paměť = plýtvání, a tak se jí snaží využívat jak to jde – cache dříve spuštěných programů… protože najít na disku data co mohly být v RAM stojí spoustu času, zatímco promazat cache když program potřebuje víc paměti je záležitost pár instrukcí. Tohle chování je výhodné pro uživatele který pak netráví čas čekáním na disk, jediné negativum je pak zákonitě delší hibernace (na jejíž skončení ale nemusíme čekat).
A ještě proč je disk tak strašně pomalý? Představte si, že něco vymýšlíte, občas si nevystačíte s tím co je v hlavě, a tak nakouknete na papírek vedle na stole. To je L1 cache a stojí 3s = 3 cykly procesoru. Když papírek nestačí, dojdete na druhou stranu pokuje a otevřete knížku, to je 14s = 14 cyklů pro L2 cache. Co není v knihovně, to si musíte dojít půjčit do vedlejšího baráku do knihovny, to je RAM, jedno kolečko je 250s = 250 cyklů CPU. No a když musíte na disk, tak se posouváme od nanosekund k desítce milisekund, a v daném kontextu je to něco přes rok!!! Už věříte že šetřit RAM je pro OS zločin?
20. Ladis 14.12.2008 13:53:24
[19] Autorovi clanku nemusis nic jeste jednou zduraznovat, on sam vi, co kdy potrebuje ;-). A jak vidno, prokecl ses, ze stejne pak kontrolujes, ze se nb vypnul.
Mimoto ta rychlost hibernace ve Viste zas tolik nezalezi na rychlosti disku, protoze i na videu je videt, ze znacnou cast doby dioda disku jen tak lehce poblikava. Si sam muzes porovnat rychlost uspani pri stejnem zaplneni RAM v XP a Viste a ze v XP to bude rychlejsi. Na rychlosti disku to zavisi predevsim ve Win2000, protoze tam obsah RAM jeste nekomprimuje, takze uspat pocitac s 512 MB RAM je fakt na dlouho.
U tech cyklu si neuvedl, pro jaky CPU to je (ruzni se to), ale to je jedno – proti vyuziti RAM stylem, jaky popisujes, nemohu nic namitat, ostatni operacni systemy to tak pouzivaji mnohem dyl nez Windows. Ale jde o to, ze to jsou data, ktera je v pripade potreby mozno rychle zahodit (predevsim nacachovana data z disku), takze ve chvili spusteni hibernace by spotreba pameti Visty mela hned spadnout a pak ulozit na disk (v komprimovane podobe) ne o moc vetsi objem dat nez v XP. Ale ono to neni o neco pomalejsi, ono to je nekolikrat pomalejsi. A to je tu vytykano.
21. Keff 14.12.2008 17:09:25
[20] tož, nebudeme se hádat když tu jsou fakta… víš něco o tom jestli jsou data v hiberfil.sys komprimovaná nebo ne?
Podle http://www.forensicfocus.com/index.php?name=Forums&file=viewtopic&t=3106 It seems that not every hibernation file is compressed. I encountered one from a Vista home (32) system, and was able to carve more than than 1,000 HTML files from that raw, hiberfil.sys. I learned from a colleague at X-Ways that we can grep for the string, \x81\x81xpress in the hiberfil.sys – each 64MB memory buffer is preceded by such a signature – if we don’t find it, the file is not compressed.
Takže minimálně někdy je hibernační soubor nekomprimovaný. Teď jsem udělal experiment s VMWare, mám tam instalaci windows XP, udělal jsem snapshot disku (takže veškeré další změny jdou do dalšího diskového souboru), nastartoval systém, zapnul hibernaci, pospouštěl aplikace tak aby bylo 140 MB RAM zabraných (z toho 17 MB kernel), a hibernoval. Snapshot disku se po hibernaci zvětšil o 96 MB, což by jistou malou kompresi naznačovalo, ale pak jsem ten celý snapshot zkusil zabalit zipem s minimální možnou kompresí (1 na stupnici 1-9), a měl zabalený 60 MB, takže mi z toho vyplývá, že ten kompresní algoritmus je buďto hodně slabý, anebo se nepoužívá a je tam jen selektivní hibernace (tzn že nějaké ty cache a tak se nezapisují na disk).
Výsledek tedy naznačuje, že relevantní test rychlosti hibernace by byl takový, že by oba OS měly stejně paměti zabrané jádrem a aplikacemi (cache se nepočítají), jinak testujeme akorát který OS zabere míň paměti, a nemůžeme z toho pak dělat žádné závěry o rychlosti hibernace!
22. Tonda 14.12.2008 19:56:00
[19]Zapomněl jsi k tomu svýmu zobrazení na konci připsat, že to není z tvojí hlavy, ale Ing. Balíka. Říkal to na přednášce z algoritmizace na ČVUT. Nebo to máš odjinud?
23. Keff 14.12.2008 21:23:31
[22] Obávám se že já i pan Balík to máme odsud, ten blogpost je celkem slavný: http://duartes.org/gustavo/blog/post/what-your-computer-does-while-you-wait
24. Aleš 16.12.2008 17:57:36
mě doma Visty Business přecházejí do režimu spánku a z něj docela dost rychle, určitě o dost rychleji než když se zapínají. Řekl bych že jde o níň než 10 sekund (můžu to změřit). Ale je to pravda desktop :-)
25. Pavelini 19.12.2008 16:52:56
Za každou cenu si kopnout do visty to je asi tak jediné co autorovi jde, a vychvalovat vrak XP, kam se musí hromada věcí doinstalovat aby k něčemu byl. Z posledních pár článků mi nepřišel ani jeden použitelný, tím myslím, že by obsahoval nějaké užitečné informace. Co taky čekat když pan odborník studuje tříletý bakálářský program už čtvrtým rokem že.
26. swarm 19.12.2008 18:01:17
[25] Děkuji za poklonu. Váš komentář mi otevřel oči a proslunil den. Před pár dny mi někdo řekl: „Komentátory v diskuzích pod články nemůžeš nikdy dostatečně podcenit.“ Díky vašemu komentáři už vím přesně, co myslel. Pokud jste tu z mých článků vyčetl jen to kopání do Visty, tak to už ale bude problém asi na vaší straně. Zda je problémem pokročilá demence, či neschopnost pochopit psaný projev, to už nechám na vašem lékaři. Nesoudím vás a myslím to (samozřejmě) v dobrém.
Spojitost mezi dobou studia a mou odborností mi nějak uniká. Za vřelé označení odborník však děkuji.
27. Ladis 19.12.2008 18:08:11
[25] Pokud je kritika neceho zalozena na predlozenych faktech, tak lze pouze polemizovat o tom, ze to autor vubec vytahl na svetlo, misto aby to zamlcel a neriskoval tak cerny puntik od fanatickych zastancu dane veci.
Osobne mi vadi, kdyz je opravnena kritika odsuzovana. Vzdyt prece predevsim zastanci Vist by ji meli smerovat Microsoftu, protoze ostatni, co muzou prejit na jiny system, problemy ve Viste tolik nepali.
Kdyby Vistu nikdo nekritizoval, tak pro Windows 7 by jste potrebovali 8 GB RAM, spousteli by se 5 minut a na disku by zabirali 50 GB (vy byste to urcite ospravedlnil tim, ze to nevadi a ze si na to kazdy zvykne, nebo je blbec). Ale Win7 je podle ohlasu z betaverze naopak znatelne sviznejsi nez Vista, takze diky kritikum Vist se muzete tesit na dalsi verzi sveho oblibeneho operacniho systemu ;-)
28. Romis 3.1.2009 0:47:13
Offtopic:No vy se tady hádáte v čem jsou lepší XP oproti Vistám, ale nebylo to kdysi stejné? Co rozdíl Win98 a WinME oproti Vistám.
Skuste udělat jakoukoliv aplikaci u které můžete stoprocentně zaručit že nemůže být např. neodborným zacházením poškozena, nikdy nemůže spadnout ani způsobit zamrznutí celého systému.
To samé v bledě modrém je to s operačním systémem, Microsoft nabízí nové funkce(ty sice mnohdy nejsou napadem microsoftu ale to je jiná věc), ale nenabízí vám garanci naprosto bezproblémového chodu. Jak se říká: Nalij benzín do Turbodieslu a máš po autě. On problém bývá v 95% mezi klávesnicí a židlí:-)
Vše je jen o zvyku a Visty se ovládají opravdu jinak a opravdu jsou náchylnější na lidskou blbost oproti XP:-D
Mimochodem ve Vistách mám radši hibernaci protože Režim spánku žere bateku. A radši si počkám až se NTB vypne a potom zaklapnu,taky se mi stalo že jsem vytáhl po hodině NTB s brašny a ani sem ho nemohl chytit do ruk, a pozor: V létě!!Není to sranda vám řeknu, ale už si na svého 15,4″ miláčka dávám pozor
29. titan4 6.1.2009 14:46:19
[27] Můžu potvrdit. Mám teď Win7 Beta 1 nainstalovanou na ntb a minimálně hibernace je výrazně rychlejší než ve Vistě (a imo i rychlejší než v XP). Obnovení je srovnatelný s XP. Vůbec celý systém je překvapivě i v Beta stádiu velice svižný a nemůžu se dočkat finální verze.
30. starenka 7.1.2009 22:50:31
[25] Na konci ti chybi carka, Einsteine.
31. Vávra 24.10.2009 16:42:30
holt někdo má rád holky ,jiný zase vdolky. Ať si každý používá co mu vyhovuje a na co si zvykl. Napadat se nemá smysl. Já jsem si před půl rokem hibernaci vypnul powercfg -h off, no teď jsem jí zase zapnul protože mi v určitých okamžicích chyběla. OS vista
32. Uran 10.9.2010 14:02:29
Komprese hiberfil.sys:
powercfg /h /size 100