Stránka 2 z 2

Re: Vista64paměť/virtuální

Napsal: stř 6. srp 2008, 16:57
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

Re: Vista64paměť/virtuální

Napsal: stř 6. srp 2008, 19:38
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.

Re: Vista64paměť/virtuální

Napsal: stř 6. srp 2008, 20:34
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í".

Re: Vista64paměť/virtuální

Napsal: stř 6. srp 2008, 21:40
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 :) ).

Re: Vista64paměť/virtuální

Napsal: stř 6. srp 2008, 22:26
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.

Re: Vista64paměť/virtuální

Napsal: čtv 7. srp 2008, 14:33
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í

Re: Vista64paměť/virtuální

Napsal: čtv 7. srp 2008, 22:57
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ší....

Re: Vista64paměť/virtuální

Napsal: pát 8. srp 2008, 09:27
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

Re: Vista64paměť/virtuální

Napsal: pát 8. srp 2008, 10:08
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?

Re: Vista64paměť/virtuální

Napsal: pát 8. srp 2008, 11:05
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...

Re: Vista64paměť/virtuální

Napsal: pát 8. srp 2008, 12:11
od zombux
no, já bych spíš řekl, že když je potřeba uvolnit prostor pro jinou aplikaci, tak se to prostě unloaduje

Re: Vista64paměť/virtuální

Napsal: pát 8. srp 2008, 12:37
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/

Re: Vista64paměť/virtuální

Napsal: pát 8. srp 2008, 16:25
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.

Re: Vista64paměť/virtuální

Napsal: pát 8. srp 2008, 18:40
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?

Re: Vista64paměť/virtuální

Napsal: pát 8. srp 2008, 19:12
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.

Re: Vista64paměť/virtuální

Napsal: pát 8. srp 2008, 20:31
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.

Re: Vista64paměť/virtuální

Napsal: pát 8. srp 2008, 21:51
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...

Re: Vista64paměť/virtuální

Napsal: pát 8. srp 2008, 23:11
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.