» »

page fault ce je swaping file=0

page fault ce je swaping file=0

boc ::

ali pride do page faulta tudi v primeru ce nimamo swap file? Torej je PM and VM (velikost fizičnega in navideznega spomina enak) ?

Sprašujem na splošno in se posebno za Linux.

Pyr0Beast ::

Zna prit če je kakšen čuden program na delu. Drugače, kakor vem, uravnava in meče podatke noter ter ven sam OS.
Some nanoparticles are more equal than others

Good work: Any notion of sanity and critical thought is off-topic in this place

boc ::

ne tu mislim na kakršenkoli program.

ender ::

Seveda. Ko program alocira pomnilnik, mu ga sistem v resnici še ne dodeli, pač pa samo mapira prazno stran v proces, in ko hoče do le-teh program dostopati, pride do page faulta, s pomočjo katerega jedro potem v resnici dodeli pomnilnik. Ravno tako lahko jedro kadarkoli odstrani program iz pomnilnika, in ga potem po potrebi ponovno včita iz diska.
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

boc ::

Samo, ce je swap 0 potem nic ni na disku in nic se od tam ne bere in nic shranjuje.

Pyr0Beast ::

yup ...
Ni nič narobe, če je dobro spisan program, drugače pa znajo težit nekateri ..
Some nanoparticles are more equal than others

Good work: Any notion of sanity and critical thought is off-topic in this place

ender ::

boc: ali si prebral, kaj sem napisal (vsaj prvi del, v drugem delu sem s "programom" mislil na .exe in .dll datoteke)?
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

boc ::

@ender: sem (upam) prebral. Samo v drugem delu omenjas diks in to me je zmedlo. Torej iz napisanega lahko sklepam, da pride do page faulta tudi v primeru ko ni swapa (=velikost VM = velikost PM). Le, da v tem primer je ta page fault pohendlan veliko hitreje, ker ne pride do dostopa do diska. Torej pride do page faulta po alokaciji (novega) spomina, ko pride do dostopa le tega.

Utk ::

Zakaj bi pa kdo hotel imet swap file na 0? Razen če je to res nek zelo specializiran računalnik... Sej če imaš dovolj RAM-a, bo tako in tako vse ostalo v njem, ko se enkrat naloži.

Pyr0Beast ::

Ne pri winih ...
Some nanoparticles are more equal than others

Good work: Any notion of sanity and critical thought is off-topic in this place

Spajky ::

Pri Win je treba dat swap min na 1MB tudi če je zadosti rama. Pa pol programi ne zezajo, ker četudi ga ne rabijo, preverijo če je enejblan. Če ni (0 MB ali off) pol pride do BlueScreen ... 8-)
"Bluzim na forumu, torej sem !" (še živ ) ...

bzp ::

Buče, sam na kar nekaj računalnikih gonim winse brez swapa (začel z eee-jem zaradi daljše življenske dobe diska, nadaljeval z dvema računalnikoma ki imata po 2GB rama). Dosedaj se niti eden še ni sesul in noben program se še ni pritožil, pa so precej aktivno v uporabi.

caveman ::

Pri meni isto deluje brez problema že 3 leta. Najprej z 1GB zdaj pa z 2. Je pa problem, ker windowsi uporabljajo disk tudi, če je še dost prostega RAMa. Je pa zanimivo vprašanje, Koliko vas še zmeraj uporablja navidezni pomnilnik.

MrStein ::

99% folka, ker je to default na vseh OS-ih.


Če nočeš page fault-a, uporabi mlock().
Pa navodila in opis preberi.
Še enkrat preberi navodila ;)

Recimo:
programi se na linux ne nalagajo z diska ampak se mapirajo (torej se samo VMmapa naredi).
Ko se dejansko uporabi določen kos kode/podatkov, se takrat naloži iz diska -> page fault. (razen, če to ni prvi dostop IN je ta kos kode že naložen)
Motiti se je človeško.
Motiti se pogosto je neumno.
Vztrajati pri zmoti je... oh, pozdravljen!

Utk ::

Navidezni pomnilnik uporabljamo vsi, tudi če imamo swap na 0. No, razen izrednih primerkov.

Mavrik ::

x86 ima vedno vklopljen navidezni pomnilnik, razen v "real" načinu se mi zdi.
The truth is rarely pure and never simple.

caveman ::

Pod navidezni pomnilnik sem seveda mislil na tisti del, ki ga windows zapiše na disk. V Mislih sem seveda imel koliko izmed Slo-techovcev vas ima SWAP na 0, glede na to da je sedaj 4GB že nekak standard za nove računalnike.

ender ::

@ender: sem (upam) prebral. Samo v drugem delu omenjas diks in to me je zmedlo. Torej iz napisanega lahko sklepam, da pride do page faulta tudi v primeru ko ni swapa (=velikost VM = velikost PM).
Ja, ker se .exe in .dll datoteke vedno vedejo kot swap (kot je MrStein rekel, so programi mapirani v RAM direktno z diska, zato prihaja do page faultov takrat, ko pride do dostopa strani, ki še ni bila včitana z diska, ali ki je bila odstranjena iz RAMa). Ravno tako pa pride do page faulta ob prvem dostopu do na novo alociranih strani (ker OS ne dodeli spomina programu takoj, ko ga ta alocira, pač pa šele ko program do le-teh strani poizkuša dostopati - glej overcommit).
There are only two hard things in Computer Science:
cache invalidation, naming things and off-by-one errors.

Zgodovina sprememb…

  • spremenilo: ender ()


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Blue screen problem

Oddelek: Pomoč in nasveti
352392 (2059) taz
»

Not enough resources pri 4 GB? (strani: 1 2 )

Oddelek: Pomoč in nasveti
644812 (3831) k4vz0024
»

Navidezni pomnilnik

Oddelek: Šola
133259 (2859) B & O
»

HW težave (blue screen)

Oddelek: Strojna oprema
111131 (1027) kriko1
»

pregrevanje?

Oddelek: Strojna oprema
7915 (755) Han

Več podobnih tem