Por que o cache da minha memória está sempre cheio?


13

Tenho 6GB de RAM, processador i5 2.4GHZ executando o Ubuntu 11.10. Particionei meu HD para ter uma troca de 8 GB.

Ao transmitir online ou abrir várias guias no Chromium, em breve tenho 4 GB de memória no cache. E acho que isso torna meu notebook lento. Ao transmitir um vídeo, depois de alguns minutos, ele realmente fica mais lento e tropeça.

Qual poderia ser o problema? Como posso resolver isso?

PS: inicialmente eu tinha 4 GB e atualizei recentemente para 6 GB, mas não tive uma mudança significativa.

PPS: free -gno terminal imprime isto:

               total       used       free     shared    buffers     cached
Mem:             5          2          3          0          0          0
-/+ buffers/cache:          1          4
Swap:            8          0          8

O que você quer dizer com "RAM Cache" e como você diz que está ficando cheio?
Sergey

Você pode executar free -g(no terminal) quando tiver o problema e incluir a saída do comando na sua pergunta.
Portablejim

No painel superior, tenho um applet que indica graficamente o uso de RAM e CPU. Quando clico, diz-me que: "Mem: 2GB de cache 4GB"
Tobias

1
free -gdiz que você tem 3 GB de RAM grátis. A memória não é seu problema!
171711

Ok, muito obrigado por esclarecer isso, mas talvez porque naquele momento eu não estava transmitindo online? Eu tinha o cromo funcionando.
Tobias

Respostas:


13

O armazenamento em cache de dados na RAM deve tornar as coisas mais rápidas, e não mais lentas - buscar coisas repetidamente no disco quando a memória não utilizada é boba. Se você estiver gastando espaço de troca, isso afetará o desempenho. Você pode facilmente saber se está usando alguma troca executandoSystem Monitor . Se o gráfico de espaço de troca não estiver subindo no momento em que o problema iniciar, o problema não estará relacionado à memória.

Certamente, quando você transmite vídeo, ele fica armazenado em cache na memória, mas é preciso bastante vídeo para preencher 6Gb! Eu esperaria que demorasse mais do que apenas alguns minutos para baixar tantos dados e muito mais para causar um problema!

Tem certeza de que algo mais não é o problema? Diga, talvez esfriando? Muitos notebooks possuem processadores superespecíficos em comparação com o sistema de refrigeração. Isso é bom - oferece alto desempenho de pico, bom para tráfego intenso, enquanto mantém o volume baixo - mas não pode manter o desempenho por muito tempo antes que seja forçado a retornar a freqüência ou derreter. O vídeo pode consumir bastante processador, então você nunca sabe?

De qualquer forma, você poderá ver pelo uso da memória se está trocando ou não. Se for, isso é um problema de software, e esses podem ser corrigidos. :)


Estou usando apenas 1,8% do SWAP. O resfriamento não é o problema, pois tenho um bloco de resfriamento com dois ventiladores. Eu sei que o vídeo é intensivo em processador, mas o i5 quad core de 2,4 GH e 6 GB de RAM deve ser definitivamente suficiente para um fluxo suave.
Tobias

1,8% da troca sugere para mim que seu problema não é que você ficou sem memória RAM. Concordo que, desde que o seu processador não tenha sido acelerado, ele deve poder fazer o trabalho.
171711

Ok do que talvez seja o próprio navegador?
Tobias

Obrigado por suas respostas, tentarei usar outro navegador e informaremos se o problema persistir. Mais uma vez obrigado, você foi muito útil e gentil, eu realmente aprecio!
Tobias

11

Eu tenho o mesmo problema, parece que o cache nunca é lançado ... Um exemplo foi quando eu fiz check-out de um repositório e acabei com um cache de 4 GB

Exemplo:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7949       7425        523          0        112       4433
-/+ buffers/cache:       2879       5069
Swap:         7627          2       7625

O que fiz foi executar o código abaixo (os comentários são apenas para você saber o que está acontecendo), você pode criar um script para executá-lo quando precisar:

# To free pagecache:
#         echo 1 > /proc/sys/vm/drop_caches
# To free dentries and inodes:
#         echo 2 > /proc/sys/vm/drop_caches
# To free pagecache, dentries and inodes:
#         echo 3 > /proc/sys/vm/drop_caches
sudo sync && sudo sysctl -w vm.drop_caches=3

Depois de executar o código acima:

$ free -m
             total       used       free     shared    buffers     cached
Mem:          7949       2820       5129          0          2        407
-/+ buffers/cache:       2409       5539
Swap:         7627          2       7625

4
Isso não é um problema, é assim que o cache da página funciona. Ele manterá as coisas armazenadas em cache o máximo de tempo possível, mas liberará itens automaticamente quando a pressão da memória de outros aplicativos aumentar. A limpeza manual é desnecessária.
Cesium

5
Pode ser que sim, mas nesse caso o algoritmo não é tão bom. Por que eu teria mais de 4 GB de cache e começava a usar a troca?
Carlo

Sobre o assunto, eu gosto deste artigo: link
Carlo

1
No meu caso atual que estou verificando um enorme repositório e todos os arquivos estão sendo armazenados em cache até que ele enche a memória, uma vez lá, ele começa a troca em vez de cache de lançamento ...
Carlo

Eu costumava me interessar pelo desenvolvimento do kernel. Certamente isso ainda é "por design". Se o kernel achar que é mais provável que parte de um arquivo seja acessada novamente em breve do que alguns dados anônimos, ele trocaria os dados anon e manteria o cache da página. Quer se trate de tomar a decisão certa é uma questão diferente, é claro :)
Steve Dee

0

Minha sugestão seria executar qualquer explorador de processos (System Monitor, por exemplo) e verificar qual é o processo que consome tanta memória. publique aqui e veremos se você pode desativá-lo.

ps. ok, entendi agora. Aposto que seu 'container plugin' cresce com o tempo devido ao modo como usa a memória. Eu acho que é porque é uma porta do sistema Gill Bates;). Matá-lo não ajudará (matando-o, você travará todas as animações em cada página, principalmente anúncios, mas também vídeos do Youtube). Além disso, o próprio Chromium adora inchar com o tempo; portanto, a única maneira de lidar com isso seria provavelmente reiniciá-lo de tempos em tempos. Veja se isso ajuda ...


De fato, quando eu reinicio o navegador, o streaming roda sem problemas novamente, porém apenas por 10 minutos. Então eu tenho que reiniciar o navegador novamente.
Tobias

Os processos utilizados: Chromium 250MB Chromium 214 MB Chromium 150Mb, compiz 119 MB, zeitgeist-daemon 111 MB, Chromium 70Mb, exe 24% de CPU e 60MB, Rhythmbox 50MB, ubuntuone-syndaemon 26MB etc.
Tobias

Receio que o seu problema possa ser causado pelo próprio navegador. Considere mudar para o Firefox ou qualquer outra opção, a opinião dos usuários na web diz que o Chromium consome cerca de 3x mais memória do que qualquer outro navegador de primeira linha. De uma chance. Instalar, abrir o mesmo número de guias e comparar ...
Adam Kroczyk

Eu dp isso. Muito obrigado pela sugestão. tudo de bom
Tobias
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.