9Sep
Det er ingen hemmelighet at Firefox kan bruke ganske mye systemminne under normal bruk. Selv om antallet av faner du har åpent og de installerte tilleggene sikkert bidrar, kan selv en konservativt brukt ut av boksinstallasjonen rapportere ganske mye minnebruk.
Dette har forårsaket noen Firefox-tillegg til overflater som hevder å frigjøre minne nettleseren ikke lenger trenger, men fungerer de egentlig?
En to minutters oversikt over hvordan Windows håndterer minne
Før vi dykker inn i å undersøke en minnepulver, er det viktig å forstå litt om hvordan Windows håndterer minne. Dette vil være viktig, slik at vi kan tolke resultatene av eksperimentet vårt.
Ikke bekymre deg, vi vil dekke dette på et meget høyt nivå, slik at du ikke trenger å være en mega-geek å følge med.
Som en rask ansvarsfraskrivelse, er dette et ekstremt kort sammendrag av det grunnleggende om Windows minnehåndtering. På ingen måte bør dette betraktes som autoritativt eller definitivt, da det bare forklares for nivå som gjelder for innholdet i denne artikkelen.
Windows er smart nok til å vite at ubrukt fysisk minne er bortkastet minne, så det laster alt det trenger og tror det vil trenge inn i minnet. Imidlertid rapporteres bare hva systemet ditt egentlig trenger( både Windows og applikasjoner) og bruker aktivt ved nåværende tidspunkt som brukt fysisk minne. Resten( hva Windows mener det vil trenge) ligger i det som kalles virtuelt minne.
Virtuelt minne er i hovedsak de dataene som ikke er aktivt påkrevet av operativsystemet, men er klare til å bli lastet inn i aktivt minne når som helst. Du kan veldig grovt beregne hvor mye virtuelt minne ditt system har til enhver tid ved hjelp av denne formelen:
Virtual Memory =( Totalt fysisk minne - brukt / aktivt fysisk minne) + Maksimal systemside filstørrelse
Så antar du har et systemmed 4 GB fysisk minne og en 6 GB maksimal sidefil. Du starter opp Windows og åpner noen programmer( Outlook, Firefox, etc.) og Windows rapporterer at 2,5 GB fysisk minne blir brukt. Dette betyr at du har 1,5 GB "ubrukt" fysisk minne og en 6 GB sidefil for totalt 7,5 GB tilgjengelig virtuelt minne.
Husk at operativsystemet er smart nok til å vite at ubrukt fysisk minne er bortkastet minne, så det vil fylle de resterende 1,5 av fysisk hukommelse med hva det forventer at du trenger, slik at det kan nås på forespørsel nesten øyeblikkelig. Dette kan være alt fra minimerte bakgrunnsprogramdata til vanlige OS-funksjoner.
Så hva skjer når Windows går tom for fysisk minne for å bruke som virtuelt minne? Det skriver disse dataene til systemsiden filen som er en stor( i vår tilfelle 6 GB) fil på harddisken din. Selv om dette muliggjør at operativsystemet lagrer ganske mye data som det behøver å holde i minnet, skrive og hente( kjenne en sidefeil), er denne informasjonen til / fra harddisken ordre av størrelsen langsommere enn å få tilgang til den fra fysisk minne. Det er derfor jo mer fysisk minne du har jo raskere, systemet ditt kan kjøre. Jo mindre systemet bruker sidenfilen, desto raskere vil den utføre.
Overvåking av Firefox-minnebruk
For vår undersøkelse vil vi ganske enkelt bruke Windows Task Manager. Vi sporer følgende kolonner( beskrivelsene er definert på Microsofts side):
- Arbeidssett = Mengde minne i det private arbeidssettet pluss hvor mye minne prosessen bruker, som kan deles av andre prosesser.
- Peak Work Set = Maksimum mengde arbeidssett minne som brukes av prosessen.
- -minne( Private Arbeidssett) = Undergruppe av arbeidssett som spesifikt beskriver hvor mye minne en prosess bruker, som ikke kan deles av andre prosesser.
- Commit Size = Mengde virtuelt minne som er reservert for bruk av en prosess.
Vi vil bruke en ut av boksen installasjon av Firefox 4.0.1 med bare Memory Fox add-on lastet. I Firefox vil vi ha følgende faner åpne og vil ikke gjøre noe annet enn å bla opp og ned på de lastede sidene.
Etter å ha ventet et øyeblikk for at alt skal fullføres, rapporterer Windows Task Manager følgende for Firefox.
Nå når vi starter tilleggsfunksjonen Memory Fox, ser du på den dramatiske nedgangen i mengden rapportert minnebruk.
Vær også oppmerksom på at en ny prosess er startet av dette tillegget, som håndterer minnesfunksjonene.
Hvis du forlater Firefox-tomgang og ser på arbeidsinnstillingene og minneverdiene, kan du se at det er en konstant kamp mellom Firefox som trenger aktivt fysisk minne og minnesensor-tillegget som gjenoppretter dette minnet.
Her er den rapporterte minnesbruken tatt hvert par sekunder mens Firefox er tom.
Merk dråpen i arbeidssett og minneverdier. Dette er hukommelsesrenser som gjenoppretter systemminnet.
Etter å ha gått litt, kan du se en annen dråpe.
Lather. Skylle. Gjenta.
Hvis du ikke gjør noe annet enn å bytte faner og bla opp og ned på de lastede sidene, kan du se at tallene svinger litt mer drastisk som forklares nedenfor.
Tolke resultatene
Når du først ser det, tror du, hei, dette fungerer bra. Men ta en titt på kolonnen Commit Size, og du kan se at denne verdien aldri endres. Faktisk går det opp når du har startet minnestyrings-tillegget.
Husk at kolonnen Commit Size rapporterer den faktiske mengden minne( fysisk + virtuell) Windows trenger å kjøre den aktuelle applikasjonen. Så i vårt eksempel er ~ 120 MB reservert og aktivt på systemet spesielt for Firefox og er bosatt i enten ubrukt fysisk minne og / eller systemets sidefil. Husk også at hvis sidefilen må brukes, er det en merkbar ytelsespåvirkning fordi det virtuelle minnet må skrives til og leses fra harddisken, som er betydelig langsommere enn fysisk minne.
Så sentraliserer minnesensoren det aktive fysiske minnet til virtuelt minne( fordi minnet er gjenvinning må gå et sted).Når dette skjer, har Firefox ikke lenger minnet den trenger å fungere aktivt tilgjengelig, så det må be Windows om å flytte de respektive dataene den trenger fra virtuelt minne tilbake til det fysiske minnet. Og rundt og rundt går vi. ..
I beste fall gjør denne prosessen ingenting, og i verste fall forårsaker det en massiv mengde unødvendige sidefeil fordi, igjen, hvis Windows må bringe siden filen inn i spill så går det til enmerkbar ytelse hit. Dette kan spesielt være tilfelle på systemet som ikke har mye fysisk minne( hvor stort sett alt virtuelt minne blir lagret i en sidefil), noe som er ironisk fordi disse er systemene en minnekrets ble "designet" til.
Moralen til hele denne historien er ganske enkelt, minnehemmere gjør ingenting, men skift rundt tall. Ethvert OS kommer til å vite hvordan du håndterer minnet på riktig måte, så bare la dem gjøre sine ting.
Administrere Firefox-minnebruk
Siden vi har vist at tilleggsprogrammer for hukommelsesrengjøring egentlig ikke gjør noe nyttig, hva kan du gjøre med den store mengden minne Firefox bruker? Her er noen forslag:
- Fjern tilleggsutstyr du ikke trenger( spesielt minnehemmende).
- Hold antall tabber du har åpnet til et minimum.
- Lukk Firefox regelmessig og start den på nytt.
- Legg til mer minne til systemet ditt.
- Ikke bekymre deg for det.
Memory Fox Next Add-on for Firefox