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.
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)
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.