quarta-feira, 20 de abril de 2011

Contornando consumo excessivo de memória do Firefox



Essa é para quem, assim como eu, sofre com o consumo de memória excessivo por parte do Firefox.
O meu firefox, último release estável da versão 3, facilmente chegava a casa dos 600 MB de ram utilizados, mesmo após ter fechado a maior parte das tabs. Durante meses, constatei que o consumo de memória apenas crescia, nunca - ou raramente - decrescendo. A situação ficava pior ainda quando assistia vídeos e outros tipos de streaming, quando o consumo aumentava consideravelmente.
Eu tenho o costume de ficar com literalmente dezenas de tabs abertas em certos momentos, onde muitas delas são relacionadas a coisas do trabalho, enquanto outras estão em webmail, ou bloglines, ou em inúmeras páginas de conteúdo, que vou lendo aos poucos ou abro para ler mais tarde. Claro, existem algumas extensions, como o Read it Later e GMail Manager (que permite acompanhar múltimas accounts do gmail) que ajudam a diminuir o número de tabs, mas a regra geral se aplica.
O fato é que o uso de memória sempre foi excessivo. O problema não é generalizado, pois constatei que outras máquinas com o mesmo Firefox não tinham um consumo tão elevado. Talvez a grande quantidade de plugins (19, atualmente) (ou seria algum em específico?) que uso causem o problema, mas como desinstalá-los não é uma opção, nos resta procurar algma outra solução. Pesquisando no Google sobre o “problema” (como “firefox memoy leak”) vi que isso não se deve necessariamente a algum vazamento de memória, tanto que os desenvolvedores chamam isso de “Funcionalidade”.
Eis a razão: o Firefox, em tentativas de tornar a navegação mais rápida, armazena em memória diversas coisas, como as “n” últimas páginas visitadas, realiza “pre-fetching” de páginas, e assim por diante. Isso tudo acarreta em um uso maior de memória. Por sorte, é bastante fácil mudar isso.
Todas os passoas a seguir devem ser feitos na página de configurações, que é acessível através da URL “about:config” - ou seja, abra uma tab nova no Firefox, e digite about:config.
#1 browser.cache.memory.capacity
Controla quanto de memória é utlizado para cachear as páginas. No campo “Filter“, digite “browser.cache.memory.capacity“. Caso nada seja retornado, você deverá criar este valor. Para tanto, clique com o botão direito do mouse, e selecione New -> Integer. O campo “New Integer value”, digite “browser.cache.memory.capacity”, e no próximo diálogo informe o valor em KB do cache. Eu utilizei 1024 (1 MB).
Caso a chave já exista, mude-a para o valor que desejar.
#2: browser.cache.disk.capacity
Determina quanto de espaço em disco é utlizado para cachear as páginas. Defina para o valor que desejar. Eu utilizei 5000.
#3: config.trim_on_minimize
Esta opção, que parece funcionar apenas em Windows (utilzo Mac), informa ao Firefox para liberar memória quando for minimizado para a barra de tarefas. Para criar esta chave, caso não exista, clique com o botão direito e escolha New -> Boolean, definindo seu valor para “true”.
#4: network.prefetch-next
Quando definido para “true” (New -> Boolean), informa ao Firefox para fazer “pre fetching” (”busca em background”) de todos os links definidos com o atributo “rel=prefetch”. Eu deixei essa opção para “false”, pois não quero que páginas que muito provavelmente não acessarei fiquem consumindo minha banda e memória RAM.
#5: browser.sessionhistory.max_total_viewers
Controla quantas páginas ficarão no histórico dos botões “Voltar” (Back) e “Avançar” (Forward) do browser. Eu deixe essa opção (New -> Integer) para um valor baixo, como 5.
Venho testando essa configuração a vários dias, e posso afirmar que o consumo de memória caiu quase pela metade, e, principalmente, liberando memória quando chega em um determinado patamar. Ou seja, o Firefox realmente libera memória depois de um certo tempo.
  

Fonte:http://rafaelsteil.com/2008/12/10/contornando-consumo-excessivo-de-memoria-do-firefox/

Nenhum comentário: