Дали чистачките на паметта на Firefox действително работят?
Не е тайна, че Firefox може да консумира доста системна памет при нормална употреба. Докато броят на разделите, които сте отворили и инсталираните добавки, определено допринасят, дори и консервативно използваната от инсталацията кутия може да съобщи за доста малко памет.
Това доведе до появата на няколко добавки на Firefox, които твърдят, че освобождават паметта, от която браузърът вече не се нуждае, но всъщност работят ли?
Преглед на две минути за това как Windows обработва паметта
Преди да се потопим в прегледа на чиста памет, е важно да разберем малко за начина, по който Windows обработва паметта. Това ще бъде важно, за да можем да интерпретираме резултатите от нашия експеримент.
Не се притеснявайте, ние ще го покрием на много високо ниво, така че не е нужно да сте мега-маниак, за да го следвате.
Като бърза декларация, това е изключително кратко резюме на самите основи на управлението на паметта на Windows. Това по никакъв начин не следва да се счита за авторитетно или окончателно, тъй като то се обяснява само на ниво, приложимо към предмета на този член.
Windows е достатъчно умен, за да знае, че неизползваната физическа памет е загубена памет, така че зарежда всичко, от което се нуждае, и мисли, че ще има нужда от нея. Въпреки това, само това, което вашата система всъщност се нуждае (както от Windows, така и от приложения) и се използва активно в момента, се отчита като използвана физическа памет. Останалото (което Windows смята, че ще се нуждае) се намира в това, което се нарича виртуална памет.
Виртуалната памет е по същество данните, които не се изискват активно от операционната система, но са готови да бъдат заредени в активната памет по всяко време. Можете да изчислите много грубо количеството виртуална памет, която вашата система има по всяко време, използвайки тази формула:
Виртуална памет = (Обща физическа памет - използвана / активна физическа памет) + Максимален размер на системната страница
Така че, предполагам, че имате система с 4 GB физическа памет и 6 GB файл с максимална страница. След това стартирате Windows и отваряте няколко приложения (Outlook, Firefox и т.н.) и Windows съобщава, че се използват 2,5 GB физическа памет. Това означава, че имате 1.5 GB “неизползвана” физическа памет и 6 GB файл за общо 7.5 GB налична виртуална памет.
Не забравяйте, че операционната система е достатъчно интелигентна, за да знае, че неизползваната физическа памет е загубена памет, така че тя ще запълни останалите 1.5 физическа памет с това, което очаква, че ще ви трябва, така че да може да бъде достъпна при поискване почти мигновено. Това може да бъде всичко - от минимизираните фонови програмни данни до общите функции на ОС.
И така, какво се случва, когато Windows изчерпи физическата памет, която да се използва като виртуална памет? Той записва тези данни в системния файл, който е огромен (в нашия случай 6 GB) файл на твърдия ви диск. Докато това позволява на операционната система да съхранява почти всички данни, които трябва да запазят в паметта, запис и извличане (известен още като грешка в страницата), тази информация към / от твърдия диск е по-бавна от достъп до нея от физическата памет. Ето защо колкото повече физическа памет имате, толкова по-бързо може да работи вашата система. Колкото по-малко вашата система използва своя файл с страници, толкова по-бързо ще изпълни.
Мониторинг на използването на паметта на Firefox
За нашето разследване ние просто ще използваме Windows Task Manager. Ще проследяваме следните колони (описанията са определени на страницата на Microsoft):
- Работен набор = Количество на паметта в частния работен комплект плюс количеството памет, което процесът използва, което може да бъде споделено от други процеси.
- Peak Working Set = Максимален обем работна памет, използвана от процеса.
- Памет (частен работен комплект) = подгрупа на работен набор, която конкретно описва количеството памет, което процесът използва, което не може да се споделя от други процеси.
- Commit Size = Размер на виртуалната памет, запазена за използване от процес.
Ще използваме инсталация на Firefox 4.0.1 извън кутията само ако е заредена добавката Memory Fox. В Firefox ще имаме отворени следните раздели и няма да правим нищо друго освен да превъртаме нагоре и надолу по заредените страници.
След като изчакате няколко минути, за да завършите зареждането, диспечера на задачите на Windows докладва следното за Firefox.
Сега, когато стартираме добавката Memory Fox, погледнете драматичния спад в количеството на използваната памет.
Също така вземете под внимание, че с тази добавка се стартира нов процес, който управлява функциите на паметта.
Оставяйки Firefox бездействащ и гледайки стойностите на работния набор и паметта, можете да видите, че има постоянна борба между Firefox, който се нуждае от активна физическа памет и добавката за почистване на паметта, която възстановява тази памет.
Това е съобщението за използване на паметта, което се прави на всеки няколко секунди, докато Firefox е оставен без работа.
Обърнете внимание на спада в стойностите на работния комплект и паметта. Това е чиста памет, която възстановява системната памет.
След като се изкачите за малко, можете да видите още една капка.
Lather. Изплакнете. повторение.
Освен това, ако не правите нищо друго освен да превключвате раздели и да превъртате нагоре и надолу по заредените страници, можете да видите, че числата се колебаят малко по-драстично, което ще бъде обяснено по-долу.
Интерпретиране на резултатите
Когато го погледнете за пръв път, бихте си помислили, че това работи чудесно. Но погледнете в колоната за размер на въвеждане и можете да видите, че тази стойност никога не се променя. Всъщност става, когато стартирате добавката за почистване на паметта.
Не забравяйте, че в колоната „Размер на въвеждане“ се съобщава действителното количество памет (физическо + виртуално), което Windows трябва да изпълни съответното приложение. Така в нашия пример, ~ 120 MB е запазено и активно в системата специално за Firefox и се намира в неизползвана физическа памет и / или в системната страница. Също така не забравяйте, че ако файлът на страницата трябва да се използва, има забележимо въздействие върху производителността, защото виртуалната памет трябва да бъде записана и да се чете от твърдия диск, който е значително по-бавен от физическата памет.
Така че по същество чистачката на паметта движи активната физическа памет във виртуалната памет (защото паметта се възстановява трябва да отиде някъде). Когато това се случи, Firefox вече не разполага с паметта, от която се нуждае, за да функционира активно, така че трябва да поиска от Windows да премести съответните данни от виртуалната памет обратно към физическата памет. А наоколо и наоколо…
В най-добрия случай този процес изобщо не прави нищо полезно и в най-лошия случай причинява огромно количество ненужни грешки на страниците, защото, отново, ако Windows трябва да въведе файла на страницата в игра, тогава ще има забележим хит на производителността. Това може да се случи най-вече в системата, която не разполага с много физическа памет (където почти цялата виртуална памет се съхранява в страничен файл), което е иронично, защото това са системите, чието устройство за почистване на паметта е „проектирано“ за.
Моралът на цялата тази история е съвсем прост: почистващите средства за памет не правят нищо, освен да пренасят числата. Всяка операционна система ще знае как да се справя с паметта по подходящ начин, така че просто им позволявайте да вършат нещо.
Управление на използването на паметта на Firefox
Тъй като показахме, че добавките за почистване на паметта наистина не правят нищо полезно, какво можете да направите за голямото количество памет, която Firefox използва? Ето няколко предложения:
- Премахване на добавки, от които нямате нужда (особено такива, които почистват паметта).
- Съхранявайте минималния брой отворени раздели.
- Периодично затваряйте Firefox и го рестартирайте.
- Добавете повече памет към вашата система.
- Не се безпокойте за това.
Memory Fox Следваща добавка за Firefox