Existe uma maneira de liberar memória? [duplicado]

0

Eu me lembro, voltando dos meus dias com o Windows Vista / 7, que havia uma ferramenta chamada memclear ou memclean que liberava alguma memória invocando a API de coleta de lixo do NT. Provavelmente limpou o cache também. Muitas vezes, quando eu uso o Ubuntu, depois de um tempo o sistema fica com um par de gigabytes de memória alocada, e quando eu realizo tarefas intensivas de memória, como edição de imagem, eu tenho que esperar um bom tempo para os gigabytes extras trocarem. p>

Existe uma maneira de forçar algo como um GC de kernel a liberar memória que realmente não é usada? (quando eu inicio, o consumo de memória é menor que um gigabyte)

    
por Simon Kuang 18.11.2015 / 07:05

2 respostas

4

Pelo que você postou, não parece que você entende como a memória funciona no Linux.

Eu recomendo a leitura

O jist desses sites é que você tem mais ram "livre", então você pensa.

    
por 18.11.2015 / 07:27
2

Se é uma máquina virtual, você pode fazer

echo 1 > /proc/sys/vm/drop_caches

Dessa forma, por exemplo, em VMware com balão de memória (ou seja, vmware-tools ou open-vmware-tools instalado), você retorna a memória atual usada em caches para o hipervisor de virtualização.

Como outros dizem, isso só é útil em condições muito específicas.

    
por 18.11.2015 / 08:12