Hemsida » hur » Fungerar Firefox Memory Cleaners faktiskt?

    Fungerar Firefox Memory Cleaners faktiskt?

    Det är ingen hemlighet att Firefox kan konsumera en hel del systemminne under normal användning. Medan antalet flikar du har öppnat och de installerade tilläggen verkligen bidrar kan även en konservativ användning av boxinstallationen rapportera en hel del minnesanvändning.

    Detta har orsakat några Firefox-tilläggsytor som gör att man kan frigöra minne som webbläsaren inte längre behöver, men fungerar de faktiskt?

    En två minuters översikt över hur Windows hanterar minne

    Innan vi dyker in på att undersöka en minnesrengörare är det viktigt att förstå lite om hur Windows hanterar minnet. Det här är viktigt så att vi kan tolka resultaten av vårt experiment.

    Oroa dig inte, vi kommer att täcka detta på en mycket hög nivå så att du inte behöver vara en mega-geek att följa med.

    Som en snabb ansvarsfriskrivning är detta en extremt kort sammanfattning av de grundläggande grunderna i Windows Memory Management. Inte på något sätt bör detta anses vara auktoritativt eller definitivt eftersom det bara förklaras för nivå som är tillämpligt på ämnet i denna artikel.

    Windows är smart nog att veta att oanvändbart fysiskt minne är bortkastat minne, så det laddar allt det behöver och tycker att det kommer att behöva komma i minnet. Men bara vad ditt system faktiskt behöver (både Windows och applikationer) och används aktivt vid den aktuella tiden rapporteras som använt fysiskt minne. Resten (vad Windows anser att den behöver) ligger i det som kallas virtuellt minne.

    Virtuellt minne är i huvudsak de data som inte krävs aktivt av operativsystemet men är redo att laddas i aktivt minne när som helst. Du kan mycket grovt beräkna hur mycket virtuellt minne ditt system har vid varje tillfälle med hjälp av denna formel:

    Virtuellt minne = (Totalt fysiskt minne - Använd / Aktivt fysiskt minne) + Maximal systemsida Filstorlek

    Så antar att du har ett system med 4 GB fysiskt minne och en 6 GB max sidofil. Du startar sedan upp Windows och öppnar några applikationer (Outlook, Firefox, etc.) och Windows rapporterar att 2,5 GB fysiskt minne används. Det betyder att du har 1,5 GB "oanvänd" fysiskt minne och en 6 GB sidfil för totalt 7,5 GB tillgängligt virtuellt minne.

    Kom ihåg att operativsystemet är tillräckligt smart för att veta att oanvändbart fysiskt minne är bortkastat minne, så det fyller de återstående 1,5 av det fysiska minnet med vad det förutser att du behöver så att det kan nås på begäran nästan omedelbart. Detta kan vara allt från minimerade bakgrundsprogramdata till vanliga OS-funktioner.

    Så vad händer när Windows går ur fysiskt minne för att använda som virtuellt minne? Den skriver dessa data till systemets sidfil som är en stor fil (i vårt fall 6 GB) på hårddisken. Medan detta gör det möjligt för operativsystemet att lagra ganska mycket data som behövs för att hålla i minnet, skriva och hämta (även ett sidfel) är denna information till / från hårddisken storleksordningar långsammare än att komma åt den från fysiskt minne. Det är därför ju mer fysiskt minne du har desto snabbare kan ditt system springa. Ju mindre ditt system använder sin sidfil, desto snabbare kommer det att fungera.

    Övervakning av Firefox-användningen

    För vår undersökning kommer vi helt enkelt att använda Windows Task Manager. Vi följer följande kolumner (beskrivningarna definieras på Microsofts sida):

    • Arbetssätt = Mängden minne i den privata arbetssatsen plus mängden minne som processen använder, kan delas av andra processer.
    • Peak Work Set = Maximal mängd arbetsminne som används av processen.
    • Minne (Privat arbetssätt) = Deluppsättning av arbetsuppsättning som specifikt beskriver hur mycket minne en process använder som inte kan delas av andra processer.
    • Commit Size = Antal virtuellt minne som är reserverat för användning av en process.

    Vi kommer att använda en ur installationen av Firefox 4.0.1 med endast Memory Fox-tillägget laddad. I Firefox kommer vi att ha följande flikar öppna och kommer inte göra något annat än att bläddra upp och ner på de laddade sidorna.

    Efter att ha väntat några minuter för att allt ska slutföras, rapporterar Windows Task Manager följande för Firefox.

    Nu när vi startar Memory Fox-tillägget, titta på den dramatiska minskningen av mängden rapporterat minnesanvändning.

    Observera också att en ny process startas av denna tillägg, vilken hanterar minnesfunktionerna.

    Om du lämnar Firefox-tomgång och tittar på arbetssätt och minnesvärden kan du se att det finns en konstant kamp mellan Firefox som behöver aktivt fysiskt minne och att minnesrengöringstillägget återkallar det här minnet.

    Här är den rapporterade minnesanvändningen taget några sekunder medan Firefox lämnas tomgång.

    Notera fallet i arbetssätt och minnesvärden. Det här är en minnesrengörare som återställer systemminnet.

    När du har gått för lite kan du se en annan droppe.

    Lödder. Skölj. Upprepa.

    Om du bara gör något annat än byta flikar och bläddra upp och ner på de laddade sidorna kan du se att siffrorna fluktuerar lite mer drastiskt vilket kommer att förklaras nedan.

    Tolkning av resultaten

    När du först ser det, skulle du tro, hej det fungerar bra. Men ta en titt på kolumnen Kommitstorlek och du kan se att detta värde aldrig förändras. Faktum är att gå upp när du börjar minnet rengöring add-on.

    Kom ihåg kolumnen Kommitstorlek rapporterar den faktiska mängden minne (fysiskt + virtuellt) Windows behöver köra respektive program. Så i vårt exempel är ~ 120 MB reserverat och aktivt på systemet specifikt för Firefox och är bosatt i antingen oanvändt fysiskt minne och / eller systemets sidfil. Kom också ihåg att om sidfilen måste användas är det en märkbar prestationspåverkan eftersom det virtuella minnet måste skrivas till och läsas från hårddisken vilket är betydligt långsammare än fysiskt minne.

    Så väsentligt minnesrenaren flyttar aktivt fysiskt minne till virtuellt minne (eftersom minnet är återvinning måste gå någonstans). När detta händer, har Firefox inte längre minnet som det behöver fungera aktivt tillgängligt, så det måste be Windows att flytta respektive data från virtuellt minne till fysiskt minne. Och runt och runt går vi ...

    I bästa fall gör denna process ingenting alls och i värsta fall orsakar det en enorm mängd onödiga sidfel, eftersom igen, om Windows måste hämta sidfilen i spel så kommer det att bli en märkbar prestationsfrekvens. Detta kan särskilt vara fallet på ett system som inte har mycket fysiskt minne (där stort sett allt virtuellt minne hålls i en sidfil), vilket är ironiskt eftersom det här är de system som en minnesrengörare var "designad" för.

    Moralen av hela denna historia är helt enkelt, minnesrengörare gör ingenting annat än att flytta runt nummer. Alla operativsystem kommer att veta hur man hanterar minnet på lämpligt sätt, så låt dem bara göra sina saker.

    Hanterar Firefox minneanvändning

    Eftersom vi har visat att tillägg till minnesrengöring inte gör någonting användbart, vad kan du göra med den stora mängden minne Firefox använder? Här är några förslag:

    • Ta bort tillägg som du inte behöver (speciellt minne som rengör dem).
    • Håll det antal flikar du har öppet till ett minimum.
    • Stäng regelbundet Firefox och starta om det.
    • Lägg till mer minne till ditt system.
    • Oroa dig inte för det.

    Memory Fox Nästa tillägg för Firefox