Gå til innhold

Mer effektiv bruk av RAM


Anbefalte innlegg

Heisann.

 

Da jeg kjøpte maskinen jeg har nå kosta det nesten ingenting å fylle på med masse ram, så sitter nå med en maskin med 4gb ram. Har sett at maskinen veldig skjeldent bruker noe særlig mer enn en gb ram, med mindre jeg kjører veldig tunge programmer / spill. Så leter litt rundt etter en måte jeg kan få maskinen til å utnytte hurtigminnet bedre. Tenkte for eksempel på om det var mulig å få "tvinge" windows (xp sp2) til å bruke mer ram istedenfor visuelt minne. Eventuelt andre måter å utnytte det på?

 

Mvh. Andreas

Lenke til kommentar
Videoannonse
Annonse

Jasså?

 

Ulempen blir at dersom du går tom for RAM, så kræsjer alle programmer som prøver å allokere RAM, eller som utfører et page fault interrupt.

 

Fordelen blir at RAM som ikke er i bruk ikke blir cachet i pagefile.

 

edit:

 

Det er også en registry fix som tvinger windows til å ikke legge drivere og slikt i pagefile.

Endret av GeirGrusom
Lenke til kommentar
Jasså?

 

Ulempen blir at dersom du går tom for RAM, så kræsjer alle programmer som prøver å allokere RAM, eller som utfører et page fault interrupt.

 

Fordelen blir at RAM som ikke er i bruk ikke blir cachet i pagefile.

 

edit:

 

Det er også en registry fix som tvinger windows til å ikke legge drivere og slikt i pagefile.

 

Ved å slå av sidevekslingsfilen hindrer du faktisk at fysisk minne kan brukes på nytt. Du kan feks tenke deg at har noen prosesser som allokerer privat virituellt minne hvorav noen sider blir lastet inn i fysisk minne og modifisert. Når disse sidene ikke blir referert lengre blir de satt på den "modifiserte" listen over minne i ram. Uten sidevekslingsfilen kan ikke denne dataen bli sidevekslet ut til sidevekslingfilen og deretter bli satt på standby listen og bli brukt på nytt av minnehåndtereren i Windows.

 

Jeg vil faktisk foreslå at du lærer deg hvordan minnehåndtering i windows fungerer før du uttaler deg om det.

Endret av fenderebest
Lenke til kommentar

Jeg ser at noen av dere kan dette her. Da har jeg et spørsmål som har ligget å gnagd lenge nå:

 

Det er fint mulig å ha MER enn EN swap-fil fordelt på forskjellige partisjoner (fortrinnsvis på fysisk adskilte disker óg).

Vil windows (xp) kunne jobbe MER EFFEKTIVT om man har to swap-filer på to partisjoner enn én swapfil på én disk.

 

Og med effektivitet så mener jeg altså at windows er i stand til å bruke swap-fila på den disken der det er minst diskaktivitet på - når windows skal skrive til swap-fila.

Har MS sine folk vært så smarte og lagd det slik, eller er det bare jeg som har en idé (som noen andre tar patent på etter å ha lest dette her).

 

Eller følgende scenario: Med do swap-filer så skrives/leses det annenhver blokk på hver disk (jamfør raid0) slik at det går langt raskere?

 

Det er bare noen tanker som slår meg. Kommentarer anyone?

 

[edit]

ser at jeg muligens kan ha stjelt tråden, men det er nå likevel relevant siden vi er inne på det der med swap-fil.

Endret av geir__hk
Lenke til kommentar

Data blir kun sidevekslet til Sidevekslingsfilen når følgende ting skjer:

Bufferen til "Modified Page List" når et visst nivå og for at ikke data skal gå tapt skriver dataen til sidevekslingsfilen på disk. (Eller direkte til filen.)

 

Her er feks en dump av hvordan minnet blir brukt på min maskin:

 

Compiling memory usage data (99% Complete).

Zeroed: 0 ( 0 kb)

Free: 0 ( 0 kb)

Standby: 131548 (526192 kb)

Modified: 697 ( 2788 kb)

ModifiedNoWrite: 0 ( 0 kb)

Active/Valid: 129779 (519116 kb)

Transition: 5 ( 20 kb)

Bad: 0 ( 0 kb)

Unknown: 0 ( 0 kb)

TOTAL: 262029 (1048116 kb)

 

Her ser vi at jeg har 1gb totalt Hvorav ca halvparten brukes av en eller annen prosess sitt "Working Set" (Altså Aktiv)

 

2788kb ligger på den Modifiserte Page Listen' og vil nok snart bli sidevekslet til sidevekslingsfilen. For så å bli overført til Standby listen. Modfiserte sider er da sider hvor dataen har endret seg i minnet siden det ble lest fra harddisken.

 

526192kb ligger på Standby page listen som inneholder sider hentet fra de eldste sidene på hver enkelt prosess sitt Working Set og i såkalt. Og det er typisk herfra Windows henter nytt minne. Om en prosess skulle få bruk for minnet igjen kan den bare be om det direkte istedetfor å lese dataen fra disk igjen ELLER sidene kan bli overskrevet av windows sin minnehåndterer og bli satt inn i en annen prosess sitt Working Set.

 

0kb ligger på Free listen som er sider som er blitt frigjort etter at en prosess avsluttet. Disse kan ikke bli brukt av den samme prosessen igjen og må typisk nullstilles "Zeroed" for å kunne bli brukt igjen.

 

og 0kb på Zero Page list som er hvor alt minnet i utgangspunkt starter, og er hvor minnet som lå på Free listen blir overført etter å ha blitt nullstillt.

 

Så ideelt sett vil Windows hente minne fra Zero page list til det er tomt for deretter å måtte overskrive data fra Standby listen og bruke det på nytt igjen.

 

Så egentlig brukes ikke sidevekslingsfilen så veldig ofte så lenge man har nok fysisk minne og man vil nok ikke merke så mye forskjell i ytelse når det gjelder å ha to sidevekslingsfiler. Dog er det også viktig å ihvertfall en liten sidevekslingsfil på boot-partisjonen slik at Windows kan skrive ut en kræsjdump til den om Windows skulle kræsje.

Lenke til kommentar

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...