|
[ Dusan Aleksic @ 28.09.2004. 18:19 ] @
| Sta je to Page fault, meni izgleda kao losa stvar, a pogledajte ovo:

Svakog sekunda explorer.exe i winamp naprave po jedan. Jel moze to nekako da se resi, mislim ako treba da se resi tj. ako je to mnogo lose?
[Ovu poruku je menjao random dana 20.02.2005. u 20:42 GMT+1] |
[ salec @ 29.09.2004. 10:15 ] @
Ne brini... page fault je termin vezan za stranicnu organizaciju virtuelne memorije i ne znaci da je doslo do kvara niti do greske.
Sta je virtuelna memorija?
Naime, adresni prostor racunara je mnogo veci od velicine tvog RAM-a. Uz to, multitasking operativni sistemi dozvoljavaju da se razni programi "istovremeno" izvrsavaju i da istovremeno koriste (i usitne) i tu postojecu kolicinu stvarnog RAM-a. Medjutim, aplikacije ne moraju da brinu zbog toga, jer je sistem napravljen tako kao da imaju sav moguci RAM na raspolaganju. Jednostavno, kompletan adresni prostor podeljen je na mnogo jednakih delova koji se nazivaju stranice (pages) i svakom programu koji trenutno nesto radi je dato parce RAM-a velicine jedne ili vise stranica. Te dodeljene stranice stvarne memorije glume (memorijski kontroler se pobrine za to) po potrebi bilo koje stranice iz virtuelne memorije.
Kada program tokom izvrsavanja dodje do mesta gde mu treba sledeca instrukcija ili podatak sa neke adrese koja je izvan dela virtuelne memorije koji je trenutno smesten u njemu dodeljeni RAM, ta situacija se zove "page fault". Memorijski kontroler daje interapt procesoru, koji onda reaguje tako sto na kratko zaustavlja izvrsavanje onog programa, dok ne prekopira trenutni sadrzaj jedne od njegovih stranica virtuelne memorije u swap fajl na disk i ne ucita trazenu stranicu sa diska u dodeljeni deo RAM-a. Onda pusta program da nastavi (tj. vraca ga na listu taskova koji mogu da se izvrse kad bude red na njih).
Jasno je da se izvrsavanje programa jako usporava ako ima mnogo page fault-ova. Takva situacija se naziva "trashing". Zato je "zdravo" za performanse racunara da ima sto je moguce vise RAM-a i da ima sto manje ukljucenih taskova koji se guraju u njega. Verovatno su moguce i razne optimizacije koda radi smanjenja trashing-a, ali o tome stvarno ne znam nista. Naslucujem da je jako lose ako je na primer neka programska petlja presecena na dvoje granicom izmedju stranica. Takodje, cini mi se da starije (koje zauzimaju manje memorije) aplikacije rade nesrazmerno brze od novijih, a te novije su optimizovane tako da iskoriste obilje memorije da ubrzaju rad na racun povecanja velicine koda.
Verovatno bi bilo korisno da se velicina memorijske stranice moze podesiti po zelji, tako da se za masine sa vise RAM-a i velicina stranice srazmerno poveca, ili da se OS nekako instruira da za odredjene, glomaznije, aplikacije uvek rezervise neki zadati minimum od vise stranica odjednom.
[ Dusan Aleksic @ 30.09.2004. 00:33 ] @
Svaka cast, ovakve odgovore volim da citam na ES-u. Nego, kada je puno page fault-a? Kako je kod drugih?
Citat: Verovatno bi bilo korisno da se velicina memorijske stranice moze podesiti po zelji, tako da se za masine sa vise RAM-a i velicina stranice srazmerno poveca, ili da se OS nekako instruira da za odredjene, glomaznije, aplikacije uvek rezervise neki zadati minimum od vise stranica odjednom.
Jel zna neko da li je ovo moguce na neki nacin?
P.S Hvala moderatoru sto je ubacio img tagove koje sam zaboravio.
[ StORM48 @ 16.10.2004. 21:34 ] @
Nije teško odrediti (gotovo) idealnu količinu Virtuelne memorije.
Treba početi tako što ćete maksimalno "maltretirati" vaš XP pokretanjem što više programa istovremeno, koje bi REALNO mogli da koristite. Znači, ne prosto zatrpavanje sistema glupostima, već pokretanje aplikacija koje traže memorijske resurse. Pokretanje Photoshopa, Corela, nekog programa za kompresiju, neke baze i još nekih sitnih alatki (a posebno zahtevnijih igara tipa Doom3, Farcry ili FS2004) će, sasvim sigurno prouzrokovati veliko memorijsko "opterećenje" i samim tim - korišćenje Page fajla (Virtuelne memorije).
Kada ste završili maltretiranje, slobodno pogasite sve aplikacije i pokrenite Task Manager (CTRL-ALT-DEL). Performance tab sadrži za vas bitne podatke. Tačnije, najbitnija stavka je Commit Charge, koji u kilobajtima pokazuje zauzeće memorijskih resursa. "Total" stavka je trenutno zauzeće, "limit" predstavlja maksimalno moguće (koje je ograničeno veličinom Pagefile-a), dok je "peak" vrednost ona koja nas najviše interesuje. Kao što i sam naziv kaže, "peak" znači vrh, odnosno, najveća potraživanja memorije u protekloj Windows sesiji. Od te vrednosti treba oduzeti količinu vašeg fizičkog RAM-a (recimo 512MB ~ 524288KB).
Primer: uzmimo da je Peak vrednost = 652778K, od toga oduzmemo 524288, i dobijamo 128490K, što znači da naš Page file ne bi smeo biti manji od 128MB, jer će se u suprotnom javiti "Not enough memory", što nikako nije dobro. Ovu vrednost bi, iz predostrožnosti, trebalo uvećati za oko 10%, kako bi se izbegle eventualne varijacije u "potrošnji" memorije.
Ako dobijeni rezultat oduzimanja sistemske memorije od Peak vrednosti, ode u minus, tada je realno predpostaviti da VM nije potrebna, te je mirne duše možemo isključiti. Naravno, uz pretpostavku da smo na Peak vrednost dodali onih 10%, koji daju mogućnost neplaniranog angažovanja.
Pozdrav
[ tex777 @ 16.02.2006. 10:10 ] @
"Ako dobijeni rezultat oduzimanja sistemske memorije od Peak vrednosti, ode u minus, tada je realno predpostaviti da VM nije potrebna, te je mirne duše možemo isključiti. Naravno, uz pretpostavku da smo na Peak vrednost dodali onih 10%, koji daju mogućnost neplaniranog angažovanja."
Ovo, nazalost, nije realno posto postoji veliki broj programa koji jednostavno nece ni da startuju ako pagefile ne postoji.
Mislim da je najsigurnije postaviti fixni pagefile od 4GB, i to na odvojen (fizicki) HDD, koji se, po mogucstvu, nalazi na drugom kontroleru od onog na kome je OS. Jos ako je SCSI na 10 kRPM, odlicno...
[ Ch1r0n @ 14.01.2008. 17:07 ] @
Stavio sam page file 128-256mb restartovao pc nakon nekoliko sati otvorim task manager i u processes kartici page faults pokazuje visoke vrednosti npr firefox.exe 527.018, kako je to moguce? Imam 2GB rama, Windows XP Professional SP2.
[ Dusan Aleksic @ 14.01.2008. 17:52 ] @
Citat: Ch1r0n: Stavio sam page file 128-256mb restartovao pc nakon nekoliko sati otvorim task manager i u processes kartici page faults pokazuje visoke vrednosti npr firefox.exe 527.018, kako je to moguce? Imam 2GB rama, Windows XP Professional SP2.
Ne bih se ja brinuo oko toga... evo gledam sad kod mene firefox ima ~4Mil pf-a radi nekih 4 sata i ima instalirane silne extenzije. Sledeci wmplayer ima ~640k itd... Kakvo je stanje bilo pre nego sto si stavio fixni page file i zasto si ga stavio na tako malu vrednost?
[ Ch1r0n @ 14.01.2008. 18:42 ] @
Stanje je bilo priblizno isto i pre (2048mb je iznosio page file po default-u) a smanjio sam radi dobiti na brzini. Nije da me brine nego ne znam kako je moguce da neka aplikacija koristi 500.000k+ ako sam limitirao na 128mb.
[Ovu poruku je menjao Ch1r0n dana 15.01.2008. u 12:28 GMT+1]
[Ovu poruku je menjao Ch1r0n dana 15.01.2008. u 13:12 GMT+1]
[ Dusan Aleksic @ 15.01.2008. 10:51 ] @
Cekaj, cekaj! Jel' firefox koristi 500Mb memorije ili je napravila 500k page fault-a? Ja sam shavtio da ima toliko page faulta! I kazem ti kako to nije strasno... Ako zauzima 500 MB a imas mali page FILE onda ona zauzima dosta memorije u ram-u... zato sto nema gde. E sad to sto koristi 500Mb to zavisi od toga sta si instalirao od extenzija, verzije firefox-a itd.
[ Ch1r0n @ 15.01.2008. 11:23 ] @
Napravila je 500.000k page fault-a kao sto sam napisao prvi put (drugi put greskom napisa mb, izmenio sam). Ok, hvala. Inace sam saznao da Page File nije Page Fault niti da je vezan sa njegovom velicinom direktno ako gresim neka me neko ispravi.
[Ovu poruku je menjao Ch1r0n dana 15.01.2008. u 13:11 GMT+1]
[ ksrele @ 21.05.2009. 11:45 ] @
Pozdrav,
Ova tema je ODLICNA i slucajno je nadjoh a hteo sam postaviti neko slicno pitanje.
Dakle, da rezimiramo za one koji nisu shvatili a zanima ih,
1. da li "Page Fault" pokazuje koliko je KB (kilobajta) podataka premesteno iz RAM memorije u Pagefile (swap) ili
2. pokazuje koliko je puta cela stranica (Page) koja je "dodeljena" tom procesu-programu premestena iz RAM-a u Pagefile (swap)?
Ajde predpostavimo da je odgovor pod 2 (nesto mislim da sam tako skontao a i u TaskManager-u nema "K" pored broja pa kontam da je to neki brojac radnji a ne merac podataka) i otvorimo TaskManager i pratimo rad jednog servisa "StyleXPService.exe" (slika ispod).

Ovaj servis, kao sto se vidi, koristi jako malo RAM memorije ali zato iz sekunda u sekund povecava broj "PageFault"-ova. Da li je ovo OK ili ne?
E sad, jedno bitnije pitanje.
Nasao sam na netu uputstvo kako da podesim da mi se Windows prvo ucita u RAM i da ne koristi Pagefile pa me zanima da li je to dobra stvar i u kom slucaju?
Recimo, da li je to dobra stvar ako ja pokrecem memorijski zahtevne programe ili je ta opcija ipak bolja kada pokrecem programe koji ne zauzimaju toliko RAM-a?
Evo kako mi izgleda "Commit Charge" nakom sto sam pokrenuo nekoliko zahtevnih programa (u isto vreme) koje retko kada pokrecem zajedno.

[ Catch 22 @ 21.05.2009. 12:09 ] @
Sve o tome, detaljno: Wikipedia: Page fault
(Google i Wikipedia su čudo)

[ ksrele @ 21.05.2009. 13:46 ] @
Dobro, link je objasnjenje za Page Fault ali ono moje drugo pitanje mi je bitno.
Da li je dobro podesiti da se Windows ucita u RAM ili da se ostavi na default podesavanja?
Ja sam se igrao sa tim podesavanjem i resetovo sistem par puta i posmatrao razliku u onom delu Task Managera gde pise koliko je Fizicke memorije RAM zauzeto i nisam primetio veliku razliku. Tj kao da mi se cini da je sa tim podesavanjem (da se Win ucita u RAM i da se ne Page-uje) mozda koji KB vise RAM-a zauzeto ali mi se PhotoShop brze otvara nego pre. Iskreno, nisam znao sta znaci Commit Charge pa to nisam ni gledao ali sve me to jako zbunjuje.
Mislio sam da ce ta opcija u Registry-bazi (sto sam izmenio) da napravi neku drasticniju ralziku ali ja nista ne primecujem.
Imam 512MB RAM-a i nervira me sto Windows cesto drlja nesto po HDD-u cesto kada igram neku igru. Znaci igra pravi Page Fault-ove i cacka Pagefile.sys
Copyright (C) 2001-2025 by www.elitesecurity.org. All rights reserved.
|