Desde que voltei ao Firefox há um ano atrás, tenho enfrentado o mesmo problema repetidas vezes - o navegador continua alimentando minha memória. O problema surge de (talvez a suposição incorreta) que uma vez que um usuário fecha uma aba o navegador liberaria a memória alocada para essa aba. Claro Firefox como muitos outros têm algum cache em execução no fundo. Reabrir guias recentemente fechadas também parece ter algo a ver com isso. Portanto, esse lançamento de memória não acontece tão rápido quanto o usuário pode desejar que aconteça.
Eu li em muitos fóruns (incluindo o Mozilla) que, se outro processo requer a memória alocada que o Firefox não precisa agora, o sistema operacional (no meu caso, o Debian Jessie) irá pegar alguns do navegador e entregá-lo outro processo. Sim, isso deve realmente acontecer, mas isso não acontece. O Firefox continua a consumir memória residente e, uma vez que quase desapareceu (como 3.6GB ou mais de 3.8GB), o swap entra em ação. Tudo isso resulta em uma experiência de navegação extremamente dolorosa. Guias de fechamento não adiantam nada. Mesmo quando fecho o Firefox, a memória alocada ainda está lá por algum tempo.
Eu gostaria de saber se é possível forçar o sistema operacional a realocar toda a memória (incluindo swap) que um processo tem usado (mesmo que nenhum outro processo exija essa memória agora), mas agora está fechado.
EDITAR:
Conforme solicitado aqui, o resultado da chamada de free
(usou o parâmetro -h
para fins de legibilidade) antes e depois do encerramento do Firefox:
Antes:
total used free shared buffers cached
Mem: 3.7G 3.6G 134M 6.8M 5.0M 166M
+/- buffers/cache: 3.4G 306M
Swap 3.7G 2.8G 916M
Depois:
total used free shared buffers cached
Mem: 3.7G 2.9G 856M 4.8M 12.0M 179M
+/- buffers/cache: 2.7G 1.0G
Swap 3.7G 2.7G 998M
Como você pode ver, uma ligeira diminuição é perceptível, mas não é nada comparado com a memória geral usando (residente e swap) até 20-30 minutos depois que o navegador foi fechado. Ao lado do Firefox, não tenho mais nada iniciado, exceto os processos usuais do Debian e alguns applets de painel (clima, CPU + HDD + monitoramento de memória, monitoramento de rede, etc.) que não ocupam muita memória e mal posso notar seus valores com %código%. Tudo o que fiz foi basicamente deixar o navegador aberto o dia inteiro e fechar / abas abertas. Eu tenho que admitir que há um monte de abas na minha sessão, no entanto, quando eu começo (e mais tarde) eu carrego apenas alguns deles. Meu palpite é que, provavelmente, mesmo quando não está carregado com conteúdo, as guias levam muita memória. No entanto, isso não explica por que, depois de fechar o navegador, tenho uma alocação de memória tão alta. Na verdade, é tão alto que às vezes não consigo desligar meu sistema adequadamente e ter que fazer um desligamento a frio.