Fungerer Firefox-hukommelsesrensere rent faktisk?
Det er ingen hemmelighed, at Firefox kan forbruge en hel del systemhukommelse under normal brug. Mens antallet af faner du har åbent og de installerede tilføjelsesprogrammer helt sikkert bidrager, kan selv en konservativt brugt ud af boxinstallationen rapportere en hel del hukommelsesbrug.
Dette har forårsaget et par Firefox-add-ons til overfladen, som hævder at frigøre hukommelse, som browseren ikke længere har brug for, men fungerer de faktisk?
Et to minutters oversigt over, hvordan Windows håndterer hukommelse
Før vi dykker ind i at undersøge en hukommelsesrenser, er det vigtigt at forstå lidt om, hvordan Windows håndterer hukommelsen. Dette vil være vigtigt, så vi kan fortolke resultaterne af vores eksperiment.
Bare rolig, vi dækker dette på et meget højt niveau, så du behøver ikke at være en mega-geek at følge med.
Som en hurtig ansvarsfraskrivelse er dette et ekstremt kort resumé af det meget grundlæggende ved Windows Memory Management. På ingen måde bør dette betragtes som autoritative eller endelige, da det kun forklares for niveauet, der gælder for emnet i denne artikel.
Windows er smart nok til at vide, at ubrugt fysisk hukommelse er spildt hukommelse, så det lægger alt, hvad den har brug for, og mener, at det skal bruges til hukommelsen. Men kun hvad dit system faktisk har brug for (både Windows og applikationer) og aktivt bruger på det aktuelle tidspunkt, rapporteres som brugt fysisk hukommelse. Resten (hvad Windows mener, at den skal bruge) ligger i det, der hedder virtuel hukommelse.
Virtuel hukommelse er i det væsentlige de data, der ikke er aktivt påkrævet af operativsystemet, men er klar til at blive indlæst i aktiv hukommelse til enhver tid. Du kan meget grovt beregne mængden af virtuel hukommelse, som dit system har til enhver tid, ved hjælp af denne formel:
Virtual Memory = (Total fysisk hukommelse - Brugt / Aktiv fysisk hukommelse) + Maksimal systemside filstørrelse
Så antag at du har et system med 4 GB fysisk hukommelse og en 6 GB maksimal sidefil. Derefter starter du Windows op og åbner et par applikationer (Outlook, Firefox osv.) Og Windows rapporterer, at 2,5 GB fysisk hukommelse bruges. Det betyder, at du har 1,5 GB "ubrugt" fysisk hukommelse og en 6 GB sidefil for i alt 7,5 GB ledig virtuel hukommelse.
Husk, at operativsystemet er smart nok til at vide, at ubrugt fysisk hukommelse er spildt hukommelse, så det vil udfylde de resterende 1,5 fysiske hukommelser med det, det forventer, at du skal bruge, så det kan nås på forespørgsel næsten øjeblikkeligt. Dette kan være alt fra minimerede baggrundsprogramdata til almindelige OS-funktioner.
Så hvad sker der, når Windows løber tør for fysisk hukommelse til at bruge som virtuel hukommelse? Det skriver disse data til systemsiden filen, som er en stor (i vores tilfælde 6 GB) fil på din harddisk. Selvom dette gør det muligt for operativsystemet at gemme stort set alle data, der skal opbevares i hukommelsen, skrive og hente (kend en sidefejl), bliver disse oplysninger til / fra harddisken størrelsesorden langsommere end at få adgang til den fra fysisk hukommelse. Det er derfor, jo mere fysisk hukommelse du har, desto hurtigere kan dit system køre. Jo mindre dit system bruger sin sidefil, jo hurtigere vil den udføre.
Overvågning af Firefox's hukommelsesbrug
Til vores undersøgelse bruger vi simpelthen Windows Task Manager. Vi følger følgende kolonner (beskrivelserne er defineret på Microsofts side):
- Arbejdsindstilling = Mængden af hukommelse i det private arbejdssæt plus mængden af hukommelse processen bruger, kan deles af andre processer.
- Peak Arbejdsindstilling = Maksimum antal arbejdsindstillede hukommelser, der bruges af processen.
- Hukommelse (Privat arbejdssæt) = Undergruppe af arbejdssæt, der specifikt beskriver mængden af hukommelse, en proces bruger, der ikke kan deles af andre processer.
- Commit Size = Mængden af virtuel hukommelse, der er reserveret til brug af en proces.
Vi bruger en ud af kassen installation af Firefox 4.0.1 med kun Memory Fox add-on indlæst. I Firefox har vi følgende faner åbne og vil ikke gøre andet end at rulle op og ned på de indlæste sider.
Efter at have ventet et øjeblik for alt at afslutte, rapporterer Windows Task Manager følgende for Firefox.
Nu, når vi starter Memory Fox-tilføjelsen, skal du se på det dramatiske fald i mængden af rapporteret hukommelsesbrug.
Bemærk også, at en ny proces startes af denne tilføjelse, som håndterer hukommelsesfunktionerne.
Hvis du forlader Firefox-tomgang og ser arbejdssæt og hukommelsesværdier, kan du se, at der er en konstant kamp mellem Firefox, der behøver aktiv fysisk hukommelse, og hukommelsesrenserens tilføjelse genvinder denne hukommelse.
Her er den rapporterede hukommelsesforbrug taget hvert par sekunder, mens Firefox er tomgangsløs.
Bemærk faldet i arbejdssæt og hukommelsesværdier. Dette er en hukommelsesrenser, der genvinder systemhukommelsen.
Når du har gået lidt op, kan du se et andet dråbe.
Skumme. Skylle. Gentage.
Hvis du ikke gør andet end at skifte faner og rulle op og ned på de indlæste sider, kan du se, at tallene svinger lidt mere drastisk, som forklares nedenfor.
Fortolkning af resultaterne
Når du først ser det, tror du, hej, det virker fint. Men tag et kig på kolonnen Commit Size, og du kan se, at denne værdi aldrig ændres. Faktisk går det op, når du starter hukommelsesrensning.
Husk, at kolonnen Commit Size rapporterer den faktiske mængde hukommelse (fysisk + virtuel) Windows skal køre den pågældende applikation. Så i vores eksempel er ~ 120 MB reserveret og aktiv på systemet specifikt til Firefox og er bosat i enten ubrugt fysisk hukommelse og / eller systemets sidefil. Husk også, at hvis sidefilen skal bruges, er der en mærkbar præstationspåvirkning, fordi den virtuelle hukommelse skal skrives til og læses fra harddisken, hvilket er betydeligt langsommere end fysisk hukommelse.
Således bevæger hukommelsesrenser sig aktivt fysisk hukommelse til virtuel hukommelse (fordi hukommelsen er genvinding skal gå et sted). Når dette sker, har Firefox ikke længere den hukommelse, den har brug for til at fungere aktivt tilgængelig, så det skal bede Windows om at flytte de respektive data, det behøver fra virtuel hukommelse tilbage til den fysiske hukommelse. Og rundt og rundt går vi ...
I bedste fald gør denne proces slet ikke noget nyttigt, og i værste fald forårsager det en massiv mængde uønskede sidefejl, fordi igen, hvis Windows skal bringe sidefilen til spil, så kommer der et mærkbart præstations hit. Dette kan især være tilfældet på et system, der ikke har meget fysisk hukommelse (hvor stort set alle virtuelle hukommelser opbevares i en sidefil), hvilket er ironisk, fordi det er de systemer, en hukommelsesrenser er "designet" til.
Moralen af hele denne historie er simpelthen, hukommelsesrengøringsmidler gør ingenting, men skifter rundt tal. Ethvert OS skal vide, hvordan man håndterer hukommelsen korrekt, så lad dem bare gøre deres ting.
Administrere Firefox's hukommelsesbrug
Da vi har vist, at hukommelsesrengørings add-ons ikke gør noget nyttigt, hvad kan du gøre med den store mængde hukommelse, Firefox bruger? Her er et par forslag:
- Fjern tilføjelsesprogrammer, du ikke behøver (især enhver hukommelsesrensning).
- Hold antallet af faner, du har åbent til et minimum.
- Luk jævnligt Firefox og genstart det.
- Tilføj mere hukommelse til dit system.
- Bare rolig om det.
Memory Fox Næste tilføjelse til Firefox