Vista64paměť/virtuální

Operační systémy Windows 98, 2000, XP, 2003, Vista a další.

Moderátor: Loki5567

Pravidla fóra
Vše okolo nového systému Windows 8 se řeší jen a pouze v PODSEKCI (klik), ostatní se přesouvá nebo zamyká.
zombux
Odborník PCT
Odborník PCT
Uživatelský avatar
Registrován: 05. čer 2003
Bydliště: sluníčkář a havloid z pražské lumpenkavárny

Re: Vista64paměť/virtuální

Příspěvek od zombux »

jasně, to co cituješ jsem četl. podstatné je to slovo may - v reálu žádnou razantně větší spotřebu nepozoruju. a i kdyby, teoreticky větší spotřeba RAM o několik set megabytů je pořád drobnost ve srovnání s tím co to přináší (blesková odezva aplikací), a při dnešních cenách RAM a rozumné velikosti 8GB to myslím není relevantní argument
ignorelist: kremrole a dezoláti
shadow
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 28. zář 2003
Bydliště: HK

Re: Vista64paměť/virtuální

Příspěvek od shadow »

když máš fungující SuperPrefetch (ve Windows Vista), tak máš okamžitou odezvu často používaných aplikací (a těch je drtivá většina) taky a klidně můžeš používat i page file (kdy vypnutí page file přináší akorát potenciální nestabilitu té které aplikace). Oproti staršímu Prefetch v XP je ve Vistách využívána "prefetch" službou volná RAM daleko více, kdy já mám 4 GB Ram a momentálně mám spuštěný jen FF 3 a nějaké klasické aplikace na pozadí jako IM, Firewall, AV atp. (dohromady tak do 100 MB Ram + cca 1,1 GB na samotné Visty..), ale přitom mám celkově volných jen 31 MB fyzické RAM. Zbytek je právě SuperPrefetch a proto je vše často používané přednahrané v paměti (aspoň částečně) - pod Windows/Prefetch mám tam 117 pf položek, a tak i vše s okamžitou odezvou...

Stejně tak i zde:

Kód: Vybrat vše

http://blogs.technet.com/askperf/archive/2007/03/29/windows-vista-superfetch-readyboost.aspx
edit: možná si řekneš, že řešení bez swapu na XP je ještě lepší, ale já si to nemyslím. Je to naopak proti Vistám (obecně a podle mne) pomalejší, protože se sice neswapuje, ale "přednahráno" v RAM to v takové míře jako u Vist není... přejdi na Visty a uvidíš :))). (myslím, že máš ty XP 64 bit. ne ? :) ).

Memory management ve Vistách je velice pokročilý a považuji ho za jeden z největších přínosů oproti XP.
show must go on..
zombux
Odborník PCT
Odborník PCT
Uživatelský avatar
Registrován: 05. čer 2003
Bydliště: sluníčkář a havloid z pražské lumpenkavárny

Re: Vista64paměť/virtuální

Příspěvek od zombux »

jo, mám XP x64 i XP x86, i Visty. takže vím dobře o čem mluvím. vypnutý swap + SF je nejrychlejší možné řešení. "okamžitá odezva" a swap už z principu nejde dohromady, disk má prostě řádově pomalejší přenosy. jasně, když je něco přednačteno pomocí SF tak to v paměti je, ale cokoli je odswapnuto, to se musí z disku nahrát a proto to je nutně pomalejší. "potenciální nestabilita" je nesmysl, jak jsem napsal nahoře tak se týká jen některých speciálních aplikací, které mají vlastní správu paměti - a takových je minimum, hlavně profesionální software, a tam je s tím třeba počítat. u "normálních" programů tohle nemá smysl řešit, jak jsem zase napsal o pár postů dřív, aplikace vůbec neví co je ve swapu a co ve fyzické RAM. zkus si vygooglit jak funguje virtualizace paměti, stránkování a segmentace. ta paměť je virtuální právě proto, že aplikace ji berou jako jeden souvislý prostor a stránkovací soubor "nevidí".
ignorelist: kremrole a dezoláti
shadow
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 28. zář 2003
Bydliště: HK

Re: Vista64paměť/virtuální

Příspěvek od shadow »

zombux píše:jo, mám XP x64 i XP x86, i Visty. takže vím dobře o čem mluvím. vypnutý swap + SF je nejrychlejší možné řešení. "okamžitá odezva" a swap už z principu nejde dohromady, disk má prostě řádově pomalejší přenosy. jasně, když je něco přednačteno pomocí SF tak to v paměti je, ale cokoli je odswapnuto, to se musí z disku nahrát a proto to je nutně pomalejší.
No, pokud dojde k odswapnutí nějakých prefetchnutých dat do page file, tak kvůli nějaké spouštěné aplikaci, která si paměť vyžádá. SF by to však měl podle toho, co jsem četl, monitorovat a v okamžiku ukončení této aplikace "vystrčná" data z page file opětovně automaticky přednačte zpět do RAM, aby byla tato data pro další přístupy opětovně rychle k dispozici (tj. ne až v okamžiku přístupu k nim, kdy by to uživatel zpozoroval).


Nemám z praxe odzkoušeno SF bez swapu. Nebudu to ani zkoušet, nemám to zapotřebí :) Tu možnost, že to pojede ještě rychleji (i když otázka, zda nějak skutečně znatelněji), s lepší odezvou, připouštím i bez toho, prefetchnuté není všechno, pak se ale dostáváme (v širší rovině) i k dalším faktorům jako defragmentace disku atd.
zombux píše: "potenciální nestabilita" je nesmysl, jak jsem napsal nahoře tak se týká jen některých speciálních aplikací, které mají vlastní správu paměti - a takových je minimum, hlavně profesionální software, a tam je s tím třeba počítat. u "normálních" programů tohle nemá smysl řešit, jak jsem zase napsal o pár postů dřív, aplikace vůbec neví co je ve swapu a co ve fyzické RAM. zkus si vygooglit jak funguje virtualizace paměti, stránkování a segmentace.
Netřeba googlit. Že je z pohledu aplikace jen jeden virtuální adresní prostor (kde není rozlišováno, co je RAM a co je swap), to samozřejmě souhlas, nicméně navzdory tomu, řada aplikací, a bohužel nejenom "profesionální", ale i třeba hezká řádka her je reportována, má bez swapu problémy nebo se ani nespustí (a ten chybějící page file v systému prostě nějak detekují - nevím.. můžu jen spekulovat... a není to o vlastní správě paměti - jak může mít vůbec aplikace vlastní správu (systémové) paměti?? Tu obhospodařuje přeci systém .. ale rád si rozšířím obzory ... nějaké linky kdyžtak prosím :) ).
show must go on..
zombux
Odborník PCT
Odborník PCT
Uživatelský avatar
Registrován: 05. čer 2003
Bydliště: sluníčkář a havloid z pražské lumpenkavárny

Re: Vista64paměť/virtuální

Příspěvek od zombux »

no, vlastní správu paměti chápej tak, že aplikace přímo přistupuje ke swapu a užívá ho po svém. nejsem si přesně jistej jakým mechanismem to je uděláno, vím jen že to takhle jde - a pak když se swap vypne, začne to zlobit.
jinak osobně v tomhle případě vidím "náhradu vypnutého swapu superfetchem" jako celkem nešťastnou formulaci - proč to dělat jednoduše když to jde složitě s vyšší režií a při dnešních kapacitách paměti diskutabilním přínosem? jasně, má to výhodu v případě, že paměť dojde, ale to je dost nepravděpodobné když je jí dost.
jinak co se týče her, bohužel toho moc nareportovat nemůžu, hraju minimálně a spíš starší věci.
ignorelist: kremrole a dezoláti
NoTHX
Středně pokročilý
Středně pokročilý
Registrován: 24. lis 2004
Bydliště: Budvar City

Re: Vista64paměť/virtuální

Příspěvek od NoTHX »

shadow píše:SF by to však měl podle toho, co jsem četl, monitorovat a v okamžiku ukončení této aplikace "vystrčná" data z page file opětovně automaticky přednačte zpět do RAM, aby byla tato data pro další přístupy opětovně rychle k dispozici (tj. ne až v okamžiku přístupu k nim, kdy by to uživatel zpozoroval).
jestli spíš tohle nesouvisí se stránkováním, když ve swapu jsou pouze (některá) stránkovaná data, pak by to dávalo smysl ať už se swapem nebo bez něj. SF i RB si dělají "počítadla" aby zjistily nejvhodnější data pro umístění do těchto cachí
shadow
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 28. zář 2003
Bydliště: HK

Re: Vista64paměť/virtuální

Příspěvek od shadow »

no, já zatím přidám ještě něco týkající se (nejen) SF:

Inside the Windows Vista Kernel: Part 2 - by Mark Russinovich

Kód: Vybrat vše

http://technet.microsoft.com/en-gb/magazine/cc162480.aspx
Já myslím, že aby člověk opravdu pochopitl, jak správa paměti ve Windows funguje, tak běžné vygooglené zdroje opravdu nestačí (ani ty třeba na Technetu) a je třeba odborných publikací, neboť celé je to ještě daleko složitější, než se na první pohled zdá, tj. kdy se jednotlivé aspekty snažíme chápat tak, aby nám to do sebe všechno hezky logicky zapadalo, ale skutečnost je ještě o poznání složitější....
show must go on..
durod
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 01. úno 2005

Re: Vista64paměť/virtuální

Příspěvek od durod »

Jak zjistit,ktere programy a kolik MB vyuzivaji aktualne Superfetch?
Jinak, k diskusi, ja mam pagefile vypnuty, zadne problemy, ale mam podereni, ze mi SF nejde, nebot pri 4GB RAM mam vyuzitych jenom kolem 1.5GB :?
SF ve sluzbach je samorejme spusteny
i5 2500K, 16GB RAM, HD7750
zombux
Odborník PCT
Odborník PCT
Uživatelský avatar
Registrován: 05. čer 2003
Bydliště: sluníčkář a havloid z pražské lumpenkavárny

Re: Vista64paměť/virtuální

Příspěvek od zombux »

otázka do pranice - kde vlastně SF bere data? zpětně "deswapuje" data z pagefile? nebo zcela nezávisle na aktuálně používaných datech si je tahá z disku na základě nějakého algoritmu?
ignorelist: kremrole a dezoláti
shadow
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 28. zář 2003
Bydliště: HK

Re: Vista64paměť/virtuální

Příspěvek od shadow »

durod píše:Jak zjistit,ktere programy a kolik MB vyuzivaji aktualne Superfetch?
Jinak, k diskusi, ja mam pagefile vypnuty, zadne problemy, ale mam podereni, ze mi SF nejde, nebot pri 4GB RAM mam vyuzitych jenom kolem 1.5GB :?
SF ve sluzbach je samorejme spusteny
Mělo by to jít monitorovat v rámci resource monitoru (sledování prostředků).
You can monitor it from Resource Monitor. After it starts fetching you can actually see what files it reads.

Kód: Vybrat vše

http://www.msfn.org/board/lofiversion/index.php/t95021.html
zombux: imho SF označená data (viz Windows\Prefetch) se nahrají do RAM po startu Windows a tam zůstávají, dokud nejsou přepsána nějakou na paměť náročnou aplikací (nějakou třeba systémovou službou), v tom okamžiku dojde k jejich "přesunutí" do page file, kde jsou až do okamžiku, než se prostor v RAM uvolní, pak jsou přesunuty zpět... jak je v to případě, kdy pagefile není, toť otázka, imho se pro stránkování vyhradí část fyzické paměti, která pak pagefile "simuluje". Do toho celého ještě pak nějak zapadá případně RB, je to celé jen moje (laická) spekulace...
show must go on..
zombux
Odborník PCT
Odborník PCT
Uživatelský avatar
Registrován: 05. čer 2003
Bydliště: sluníčkář a havloid z pražské lumpenkavárny

Re: Vista64paměť/virtuální

Příspěvek od zombux »

no, já bych spíš řekl, že když je potřeba uvolnit prostor pro jinou aplikaci, tak se to prostě unloaduje
ignorelist: kremrole a dezoláti
shadow
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 28. zář 2003
Bydliště: HK

Re: Vista64paměť/virtuální

Příspěvek od shadow »

jj, je to možné, ale ještě jsem neslyšel toho video :).

Kód: Vybrat vše

http://channel9.msdn.com/shows/Going+Deep/The-Advancement-of-Windows-Michael-Fortin-Windows-Vista-SuperFetch/
show must go on..
JSzu
Začátečník
Začátečník
Uživatelský avatar
Registrován: 07. črc 2007
Kontaktovat uživatele:

Re: Vista64paměť/virtuální

Příspěvek od JSzu »

durod píše:... Jinak, k diskusi, ja mam pagefile vypnuty, zadne problemy, ale mam podereni, ze mi SF nejde, nebot pri 4GB RAM mam vyuzitych jenom kolem 1.5GB :?
SF ve sluzbach je samorejme spusteny
To je normalni, ja mam s vypnutym nebo zapnutym pagefile na 8GB RAM 1.3GB zabranych, zalezi kolik tam toho mas (ve slozce prefetch), vista od 4GB RAM uz moc nahoru nejde.
durod
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 01. úno 2005

Re: Vista64paměť/virtuální

Příspěvek od durod »

shadow píše:Mělo by to jít monitorovat v rámci resource monitoru (sledování prostředků).
JSzu píše:To je normalni, ja mam s vypnutym nebo zapnutym pagefile na 8GB RAM 1.3GB zabranych, zalezi kolik tam toho mas (ve slozce prefetch), vista od 4GB RAM uz moc nahoru nejde.

Kde to je v resource monitoru?

kde je slozka prefetch?
i5 2500K, 16GB RAM, HD7750
JSzu
Začátečník
Začátečník
Uživatelský avatar
Registrován: 07. črc 2007
Kontaktovat uživatele:

Re: Vista64paměť/virtuální

Příspěvek od JSzu »

C:\Windows\prefetch - poznas o podle poctu souboru s priponou .pf
Ale muzou tam byt i zaznamy o souborech, ktere mas uz davno smazane.
durod
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 01. úno 2005

Re: Vista64paměť/virtuální

Příspěvek od durod »

shadow píše:zombux: imho SF označená data (viz Windows\Prefetch) se nahrají do RAM po startu Windows a tam zůstávají, dokud nejsou přepsána nějakou na paměť náročnou aplikací...
Ve slozke Prefetch jsou asi jenom nejake "indexy" .exe souboru , ktere nacitava do RAM puvodni exe soubory po spušteni. Cela slozka ma u me jenom 51MB.
Napr GRID.exe ma v Prefetch 143kB, puvodni soubor je radove MB. Datove soubory tam nejsou, zrychlene loadovani pri hrani je jenom utopie-Superfetch je vazany na svchost.exe, u me ma cca 116MB, kdyz si vemu, kolik exe souboru jsem opakovane pokusne spoustel-ruzne hry, tak spousteci .exe her presahovali cca 200MB, tim padem by mel mit svchost.exe vice nez 200MB.
i5 2500K, 16GB RAM, HD7750
shadow
Středně pokročilý
Středně pokročilý
Uživatelský avatar
Registrován: 28. zář 2003
Bydliště: HK

Re: Vista64paměť/virtuální

Příspěvek od shadow »

durod píše:
shadow píše:zombux: imho SF označená data (viz Windows\Prefetch) se nahrají do RAM po startu Windows a tam zůstávají, dokud nejsou přepsána nějakou na paměť náročnou aplikací...
Ve slozke Prefetch jsou asi jenom nejake "indexy" .exe souboru , ktere nacitava do RAM puvodni exe soubory po spušteni. Cela slozka ma u me jenom 51MB.
Napr GRID.exe ma v Prefetch 143kB, puvodni soubor je radove MB. Datove soubory tam nejsou, zrychlene loadovani pri hrani je jenom utopie-Superfetch je vazany na svchost.exe, u me ma cca 116MB, kdyz si vemu, kolik exe souboru jsem opakovane pokusne spoustel-ruzne hry, tak spousteci .exe her presahovali cca 200MB, tim padem by mel mit svchost.exe vice nez 200MB.
SuperFetch je vázaný na proces svchost.exe v tom smyslu, že se prostřednictívm něho spouští, neboť SF je systémovou službou, která je implementována ve Windows\System32\Sysmain.dll a jako taková může být spuštěna jenom pomocí hostitelského procesu svchost.exe. Instancí svchost.exe nicméně běží v reálu souběžně celá řada /lze to dobře vidět v Process Exploreru z balíku Windows SysInternals). Exe soubory, prostřednictvím kterých se spouští hry, jsou jen další procesy, které se pochopitelně prostřednictvím svchost.exe nespouští. Zrychlené loadování té které prefetchtnuté hry tedy žádná utopie není. S datovým objemem spouštěcího exáče to nemá nic společného.

Co konkrétně dělá služba Sysmain, tj. SF, lze nejlépe vysledovat asi takto:

Spustit task manager (správce úloh), kliknout na "služby", vyhledat si službu "sysmain". Podívat se na její PID (process ID) a pak v rámci Process Monitoru z balíku Windows SysInternals si dát vyfiltrovat ten příslušný PID (tedy jestli z těch výsledků nebude člověk zmaten, protože toho je opravdu hodně :)) ).

Jinak pokud jde ještě o obsah Prefetch složky, tak slovy Marka Russinoviche z článku na MS Technetu, který jsem zde odkazoval:
It stores this information in scenario files with a .db extension in the %SystemRoot%\Prefetch directory alongside standard prefetch files used to optimize application launch.
. Vlastní hry a další prefetchovaná data ale samozřejmě zůstávají na svém původním umístění na HDD...
show must go on..
JSzu
Začátečník
Začátečník
Uživatelský avatar
Registrován: 07. črc 2007
Kontaktovat uživatele:

Re: Vista64paměť/virtuální

Příspěvek od JSzu »

durod píše:
shadow píše:zombux: imho SF označená data (viz Windows\Prefetch) se nahrají do RAM po startu Windows a tam zůstávají, dokud nejsou přepsána nějakou na paměť náročnou aplikací...
Ve slozke Prefetch jsou asi jenom nejake "indexy" .exe souboru , ktere nacitava do RAM puvodni exe soubory po spušteni. Cela slozka ma u me jenom 51MB.
Napr GRID.exe ma v Prefetch 143kB, puvodni soubor je radove MB. Datove soubory tam nejsou, zrychlene loadovani pri hrani je jenom utopie-Superfetch je vazany na svchost.exe, u me ma cca 116MB, kdyz si vemu, kolik exe souboru jsem opakovane pokusne spoustel-ruzne hry, tak spousteci .exe her presahovali cca 200MB, tim padem by mel mit svchost.exe vice nez 200MB.
Zjednodusene, v .pf souborech jsou odkazy na soubory, ktere exe soubor vola (a nejenom to), ty se pak podle toho kolikrat jsou pouzity v .pf souborech seradi od nejvice po nejmene pouzivanych do souboru layout.ini a ty soubory se nacitaji v prubehu bootu (bootovani se o par sekund prodlouzi, ale pokud si davate pozor na fragmentaci, tak ani to ne).
(To byl popis prefetch z WinXP, co pridava Vista navic se SuperFetch nevim.)

K tomu, ze se tam hromadi .pf soubory od exe souboru, ktere byli smazane, tak prefetch/superfetch za nejakou dobu smaze dlouho nepouzite .pf soubory.
Odpovědět

Zpět na „Operační systémy Microsoft“