Servidor Linux com falta de memória

1

Eu tenho um VPS com uma empresa de hospedagem. Eu tenho alguns scripts perl mal escritos que usam o MySQL. Meu servidor MySQL caiu. A empresa de hospedagem diz que o servidor ficou sem memória. No momento em que não tenho tráfego no VPS, minha empresa de hospedagem executou um 'free' e o seguinte é o resultado.

       total used free shared buffers cached
 Mem:  1024   963   60      0       0    746
 -/+ buffers/cache: 217 806
 Swap:    0     0    0

Dizem que tenho apenas 60 mb livres. É esse o caso? Preciso atualizar a memória?

    
por user2125853 21.02.2014 / 02:19

2 respostas

3

Sim, é o caso de apenas 60mb serem gratuitos, mas isso é normal, já que o linux é projetado para usar a quantidade de memória disponível disponível para maximizar o desempenho por meio do armazenamento em cache.

Qualquer memória usada para armazenamento em cache é liberada quando necessário por um aplicativo.

Portanto, há uma diferença entre a memória que é "livre" como, atualmente não utilizada, e a memória que está "disponível", que pode ser usada para algo, mas pode ser fornecida a um aplicativo conforme necessário.

A memória "disponível" é a que é importante e é o último número depois de -/+ buffers/cache: . No seu caso, 806MB.

Com o MySQL e scripts duvidosos, essa memória pode ser consumida rapidamente.

Eu gostaria de sugerir a adição de algum espaço de troca para que, se você acabar, sua máquina não inicie os processos de terminação, mas possa expandir para o armazenamento com backup em disco para memória "adicional". Isso significa que começaria indo devagar em vez de quebrar.

Crie um arquivo de troca:

 # dd if=/dev/zero of=/swap.tmp bs=1M count=1024

Isto irá criar um arquivo vazio de 1024MB

 # mkswap /swap.tmp

Isso transforma o arquivo em algo que pode ser usado para espaço de troca.

 #swapon /swap.tmp

Isso ativará o espaço de troca - dê uma olhada em free para ver a diferença.

Em seguida, edite /etc/fstab e verifique se a troca está ativada na inicialização, adicionando esta linha (depois que a raiz estiver montada):

 /swap.tmp none swap defaults 0 0 
    
por 21.02.2014 / 02:34
0

Não. O que você deve observar é a linha -/+ buffers/cache . A primeira linha inclui coisas - como arquivos em cache - que o kernel está usando, mas pode se livrar com segurança se necessário. Veja também link .

    
por 21.02.2014 / 02:33