Primeiro, como você está mostrando a quantidade de RAM livre? Se for através do comando "free", note que você precisa estar olhando para a segunda linha em "free", não o primeiro ( mais detalhes ). Por exemplo:
total used free shared buffers cached
Mem: 8191172 8059600 131572 0 169792 6648500
-/+ buffers/cache: 1241308 6949864
Swap: 0 0 0
No meu caso eu tenho 8GB de RAM, mas quase 7GB disso está em buffers + cache, então minha verdadeira memória livre é de 6,9GB, ao invés dos 131MB da primeira coluna em "free".
Mas, como você diz, 256MB de RAM não é muito. Você diz "é o suficiente para mim", mas se você está ficando sem memória com os aplicativos em execução que você quer, talvez você precise reconsiderar o quanto você realmente precisa.
Dito isso, acho que você provavelmente pode deixar seu uso de memória mais sob controle. Primeiro, verifique se você está olhando para os números corretos (como mencionado acima). Eu tenho um daemon do MySQL rodando em uma das minhas máquinas que recebe uso regular, mas não pesado, e parece estar usando 30MB de memória residente como mostrado por ps awwlx | grep mysql
. Está usando outros 160MB de virtual, por isso pode ser bem apertado.
Você pode tentar ajustar as configurações no arquivo my.conf
para reduzir o número de caches e outras coisas, se realmente quiser tentar reduzir o tamanho do uso. Aqui está uma boa discussão dos parâmetros de memória do mysql .