Você tem bastante RAM livre. O cache não vai atrapalhar o Linux vai desistir quando necessário. Você provavelmente está vendo este bug , tente fazer downgrade do kernel para uma versão anterior.
Estou executando um PI de framboesa com o Ubuntu 16.04.1 LTS (GNU / Linux 4.4.0-1042-raspi2 armv7l) e quando eu, por exemplo. assistir a um vídeo via Samba, ele fica em cache e preenche minha RAM com dados em cache.
Será assim:
user@rpi:~$ free -h -m
total used free shared buff/cache available
Mem: 920M 57M 133M 980K 729M 828M
Swap: 1.8G 29M 1.8G
Então, tanto quanto eu entendo isso, não deve ser uma coisa ruim, já que o Ubuntu verá essa parte da RAM como usada, mas disponível. Então, quando outro processo realmente precisar, será disponibilizado.
Mas quando o cache atinge meu limite de RAM, o seguinte acontecerá:
Feb 8 19:08:36 rpi kernel: [160789.617128] Out of memory: Kill process 29171 (myprocess) score 40 or sacrifice child
Feb 8 19:06:08 rpi kernel: [160641.803753] Killed process 29072 (myprocess) total-vm:170312kB, anon-rss:63196kB, file-rss:43628kB
Alguém pode me explicar por que isso acontece e como posso evitar isso? No momento, minha única solução temporária é limpar o cache manualmente:
sync && echo 3 > /proc/sys/vm/drop_caches
PS: Eu sei que não devo usar o Swap em um RPI com uma unidade flash, foi um teste temporário para esse problema que não ajudou.
Você tem bastante RAM livre. O cache não vai atrapalhar o Linux vai desistir quando necessário. Você provavelmente está vendo este bug , tente fazer downgrade do kernel para uma versão anterior.
Eu notei o mesmo problema com o Ubuntu simples no meu sistema de desktop.
O Ubuntu 16.04 parece bloquear especificamente o cache e não pode ser liberado por echo 3 | sudo tee /proc/sys/vm/drop_caches
.
Você já tentou mudar para um sabor diferente? Na minha experiência, o problema de cache foi melhor, e. No Lubuntu, você também pode experimentar o Xubuntu. Eles geralmente usam menos memória.
Em geral, para um ambiente com pouca memória, como o Raspi, você vai querer usar um software especial, como o Área de trabalho de pixel .