Vazamento de memória? Firefox / Chromium ambos preenchem RAM

1

De linuxatemyram.com:

If your applications want more memory, they just take back a chunk that the disk cache borrowed. Disk cache can always be given back to applications immediately! You are not low on ram!

Isso não é verdade. Algo está comendo a RAM e não vai devolver. O caso de uso é o Chromium ou o Firefox com várias guias e, em seguida, é encerrado. Haverá RAM adicional ocupada do que antes do navegador ser executado.

Alguns números para mostrar o que quero dizer:

No arranque: <2 GB utilizados, geralmente de ~ 1,7 GB.

Abra um monte de abas no FF / Chromium, eventualmente, mais de 8 GB são usados

Saia do FF / Chromium e 3,5 GB são usados.

O que é o 3.5-1.7 = 1.8GB? Vamos chamá-lo de X.

O X é um cache de memória? Um vazamento de memória? Por que tanto o Firefox quanto o Chromium reproduzem exatamente os resultados parecidos?

Abrir abas finalmente preenche minha memória RAM de 8 GB, o sistema congela e, eventualmente, aborta a opção morrer / congelar / travar, liberando apenas memória suficiente para continuar.

A função correta, que eu gostaria que o Ubuntu tivesse, estaria dando o que diabos X está de volta aos aplicativos quando eles querem que a RAM rode. No entanto, quando eu lanço um aplicativo, e a maior parte da RAM foi consumida pelo X, quer tenha sido criada por um dos dois navegadores mais comuns, nenhuma memória RAM é recuperada do X. Ela permanece até eu reiniciar.

O uso de "free" e outras ferramentas não me ajudou a diagnosticar o WTF X.

Alguma idéia?

Saídas gratuitas:

Cerca de um minuto depois de sair do cromo.

              total        used        free      shared  buff/cache   available
Mem:        8035708     4037332     2202604     1014656     1795772     2713256
Swap:      12441592           0    12441592

Um pouco mais tarde.

              total        used        free      shared  buff/cache   available
Mem:        8035708     2497680     4168392      552812     1369636     4715280
Swap:      12441592           0    12441592

Um dia depois, momentos após o preenchimento de até 7.9GB e todas as abas quebram.

              total        used        free      shared  buff/cache   available
Mem:        8035708     5855132      739016     1012864     1441560      923084
Swap:      12441592      975712    11465880

Após um preenchimento e falha semelhantes.

              total        used        free      shared  buff/cache   available
Mem:        8035708     5777812      638932      714256     1618964     1273920
Swap:      12441592           0    12441592

Algum tempo depois, abriu o cromo, executou por algumas horas (não para o máximo de RAM), fechou:

              total        used        free      shared  buff/cache   available
Mem:        8035708      737080     5869896      438592     1428732     6604848
Swap:      12441592      524436    11917156

Logo após o boot:

              total        used        free      shared  buff/cache   available
Mem:        8035708      689232     6449124      322912      897352     6769772
Swap:      12441592           0    12441592

Após o Chromium sair:

              total        used        free      shared  buff/cache   available  
Mem:        8035708      967988     5677848      531960     1389872     6284744
Swap:      12441592         336    12441256
    
por Tom Mercer 11.04.2017 / 21:07

1 resposta

0

Não há problema, até onde eu posso ver. A memória “disponível” se comporta como esperado. Conforme os aplicativos reivindicam mais memória, a memória disponível diminui; depois que eles saem, a memória disponível aumenta novamente.

Também é normal que o sistema fique lento ou a interface do usuário pare completamente enquanto o sistema acessa o espaço de troca, especialmente se o dispositivo que o suporta estiver lento. As unidades de disco rígido são normalmente piores do que o armazenamento flash devido à alta latência de acesso.

Tanto o Chromium / Chrome quanto o Firefox são conhecidos por usar muita memória com muitas abas abertas. Adicione mais RAM ao seu sistema ou reduza o número de abas abertas severamente. Você pode atenuar o problema com um dispositivo de backup de espaço de troca mais rápido.

Você pode consultar o gerenciador de memória virtual para estatísticas atuais de memória com free -h ( -h é para formatação de números legíveis por humanos). Você pode listar os processos (N-1) ocupando a maior parte da memória com ps aux --sort -rss | head -n N ou com top e a classificação ajustada.

Você também pode ter interesse em Como você descobre qual programa está usando muita memória?

    
por David Foerster 16.11.2017 / 00:17