Това е причинило няколко Firefox добавки към повърхността, които твърдят, че освобождават паметта, която браузърът вече не се нуждае, но всъщност работят ли?
Преглед на две минути за това, как Windows обработва паметта
Не се притеснявайте, ние ще покрием това на много високо ниво, така че не е нужно да бъдете мега-онзи, който да следвате.
Като бърз отказ от отговорност, това е изключително кратко обобщение на основите на управлението на паметта на Windows. В никакъв случай това не трябва да се счита за авторитетно или окончателно, тъй като се обяснява само до ниво, приложимо към предмета на тази статия.
Windows е достатъчно умен, за да разбере, че неизползваната физическа памет е загубена памет, затова тя зарежда всичко, от което се нуждае, и мисли, че ще се нуждае от памет. Обаче само това, което действително се нуждае от вашата система (Windows и приложения) и активно се използва в текущото време, се отчита като използвана физическа памет. Останалото (което Windows смята, че ще се нуждае) се намира в така наречената виртуална памет.
Виртуалната памет е по същество данните, които не се изискват активно от операционната система, но са готови да бъдат заредени в активна памет по всяко време. Можете много грубо да изчислите размера на виртуалната памет, която вашата система има във всеки един момент, като използвате тази формула:
Virtual Memory = (Total Physical Memory – Used/Active Physical Memory) + Maximum System Page File Size
Предполагам, че имате система с 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 Work Set = Максимален обем работна памет, използвана от процеса.
- Памет (личен работен набор) = Подгрупа от работен набор, който конкретно описва обема памет, който процесът използва, който не може да бъде споделен от други процеси.
- Commit Size = Количество виртуална памет, запазена за използване от даден процес.
Ето споменатата употреба на паметта, която се използва на всеки няколко секунди, докато Firefox е оставен на празен ход.
Освен това, ако не правите нищо, освен да превключвате разделите и да превъртате нагоре и надолу заредените страници, можете да видите цифрите да се колебаят малко по-драстично, което ще бъде обяснено по-долу.
Интерпретиране на резултатите
Когато го погледнете за пръв път, бихте помислили, че това е чудесно. Но погледнете колоната Commit Size и можете да видите, че тази стойност никога не се променя. Всъщност се увеличава, след като стартирате добавката за почистване на паметта.
Не забравяйте, че в графата Commit Size се отчита действителното количество памет (физическа + виртуална), която Windows трябва да изпълни съответното приложение. Така че в нашия пример ~ 120 МБ е резервиран и активен в системата специално за Firefox и се намира в неизползвана физическа памет и / или системния файл на страницата.Също така не забравяйте, че ако файлът на страницата трябва да се използва, има забележимо въздействие върху производителността, защото виртуалната памет трябва да бъде написана и четена от твърдия диск, която е значително по-бавна от физическата памет.
Така че по същество почистващият памет движи активната физическа памет във виртуална памет (защото паметта е възстановена трябва да отиде някъде). Когато това се случи, Firefox вече няма паметта, от която се нуждае, за да работи активно, така че трябва да поиска от Windows да премести съответните данни от виртуалната памет обратно във физическата памет. И наоколо и навсякъде …
В най-добрия случай този процес не прави нищо полезно и в най-лошия случай причинява огромно количество ненужни грешки на страница, защото отново, ако Windows трябва да донесе файла на страницата в игра, тогава ще има забележим хит на изпълнението. Това може да се случи особено при система, която не разполага с много физическа памет (където почти цялата виртуална памет се съхранява в файл на страница), което е иронично, защото това са системите, чийто "чист" памет е "проектиран".
Моралът на цялата тази история е съвсем просто, чистачите на паметта не правят нищо, освен да се преместят около номера. Всяка операционна система ще знае как да се справи с паметта по подходящ начин, така че просто нека да вършат работата си.
Управление на използването на паметта на Firefox
Тъй като ние показахме, че добавките за почистване на паметта наистина не правят нищо полезно, какво можете да направите за огромното количество памет, използвана от Firefox? Ето няколко предложения:
- Премахнете добавките, които не ви трябват (особено тези с почистване на паметта).
- Поддържайте до минимум броя отворени раздели.
- Периодично затворете Firefox и го стартирайте отново.
- Добавете още памет към системата си.
- Не се притеснявайте за това.
Memory Fox Следваща добавка за Firefox