Як зменшити витрату пам'яті в firefox - все про лінукс
Вже давно звертав увагу на той факт, що після декількох годин використання Firefox займає кілька сотень мегабайт пам'яті, від 600 до 800 (RSS). Цим він штовхав в своп інші додатки, що створювало неприємні затримки при перемиканні між додатками. Після бродіння по інету в пошуках «ліки», прийшов до наступних висновків. Багато з них не «вах які відкриття Америки», але, можливо, виявляться корисними:
1. Вимкніть всі непотрібні розширення
Непотрібні розширення (add-ons) просто займають купу пам'яті. Якість розширень також варіюється, багато хто з них написані неефективно, витрачаючи і не звільняючи пам'ять після використання.
У себе я вимкнув DownloadThemAll, Firebug, Flagfox, Image Zoom, Web Developer, YSlow - я зрозумів, що не використовую їх так часто, як думав. Залишив AdBlock, BugMeNot, NoScript ...
2. Видаліть непотрібні плагіни
Непотрібні плагіни (plugins) також їдять багато пам'яті. Модулі краще видаляти тими ж способами, що і ставили, тобто через менеджер пакетів. Так, у себе я виявив два десятка плагінів, включаючи Java, Citrix, DivX, Helix DNA, Kaffeine, mplayer, QuickTime, RealPlayer, Flash, VLC, Totem, Xine ... більше половини з них ніякої корисної навантаження не несуть, можна сміливо видаляти ... Про Flash ще трохи трохи пізніше ...
3. Контролюємо витрата пам'яті
У Firefox є кілька налаштувань, контролюючих витрату пам'яті:
творці Firefox запевняють. що за замовчуванням вогнелис їсть максимум всього лише 6.25% пам'яті на зберігання кешу, у що віриться дуже слабо. Проте, попрбуйте встановити даний параметр в яке-небудь число (в КБ) і подивіться, як слухається Firefox. Якщо даний параметр не існує в about: config, то його можна створити з типом Integer.
він відповідає за кількість збережених сторінок в кеші, щоб можна було швидко відкотитися назад в браузері, без великих затримок. За замовчуванням встановлено в -1, що означає автоматичну конфігурацію в залежності від розміру оперативної пам'яті (але не більше 8) - докладніше - в МозіллаЗін вікі. Можете зменшити кількість збережених сторінок (я зменшив до 5). Якщо ви вважаєте себе справжнім індіанцем, можете встановити параметр в 0, щоб не зберігати сторінки, з яких пішли 🙂 Хоча я неправий, справжні індіанці використовують lynx або links ... 😉
4. Скоротіть кількість виконуваних скриптів в переглядаються сторінках
Встановіть розширення NoScript. яке буде блокувати виконання Джава-скрипт, Флеш і Джава плагінів за умовчанням. На жаль, нормальна робота з увімкненим NoScript превращяется в постійний дозвіл роботи скриптів, тому можна порекомендувати замість NoScript встановити FlashBlock. який дозволяє виконання ДжаваСкрипт, але блокує за умовчанням Флеш. А Флеш їсть багато і дуже багато ресурсів, особливо під Linux (спасибі, Адоб ... 🙂
5. Остання порада від досвідчених віндошніков - регулярно перестартуйте Firefox
регулярний перезапуск Firefox дозволяє позбутися зайвого вантажу пам'яті, і комп'ютер починає бігати помітно швидше. Для цих цілей навіть написали спеціальне розширення: Restart Firefox
Навігація по публікаціям
давно пора оновити комп'ютер. не будь скупердяї.
Фаейер жере 800 метрів спочатку, коли починаєш дивитися флеш, а потім приблизно при відкритих 40-50 вкладках починає жерти 1 Гиг ... і висне, а потім треба робити рестарт.
500M при 50M використаної пам'яті. Розмір аллокации різний-є і в 20 байт, є і в 4000 байт, причому малих аллокации у багато разів більше. Таким чином, якщо в купі з'являється велика дірка, то вона тут же займається меншими в порівнянні з нею шматками, в проміжках між якими накидано багато зовсім дрібних шматків розміром
20 байт, деякі з цих дрібних кусків не втечуть-а це означає, що після того, як менші шматки будуть видалені, велика дірка разоб'ётся на кілька менших дірок. Згадавши, що такий процес відбувається порядку 500M / 50M = 10 разів, стає зрозуміло, що використовувана за час навіть невеликого сеансу перетворюється в кашу, тобто в купі аллокірованние шматки розділені невеликими проміжками, великих дірок в купі немає. А це означає, що коли firefox'у знадобиться аллокіровать великий шматок, то в купі для нього не виявиться достатнього проміжку, і прийдется робити це розширюючи всю купу за допомогою все тієї ж brk / sbrk.Обе ці проблеми можуть здебільшого вирішені хорошим аллокатором, заснованим на mmap.