VPS comendo RAM?

2

Eu tenho um VPS com 512MB de RAM com 1GB Burst do TelVPS. Não há espaço de troca para o VPS.

Eu tive uma discussão sobre isso com meu provedor de serviços, mas eles disseram que não fornecem espaço de troca para o VPS, Posso adicionar espaço de SWAP sozinho?

Eu tenho a seguinte configuração:

  • Apache2 / Passenger
  • Ruby on Rails 2,3
  • MySQL
  • Sendmail.

Eu tenho um aplicativo de 3 rails em execução, mas eles são aplicativos de teste com pouco ou nenhum tráfego.

top e o painel de controle do VPS mostram que meu sistema está usando cerca de 880MB de RAM. Mas o resultado da lista de processos de top não mostra nenhum processo comendo memória. Eu li o link . Mas a seguir está a saída de free -m

root@serveme:/var/www# free -m
             total       used       free     shared    buffers     cached
Mem:          1024        819        204          0          0          0
-/+ buffers/cache:        819        204
Swap:            0          0          0

Eu tenho duas perguntas sobre essa situação:

1). Como resolver o problema de comer memória? (Por favor, deixe-me saber se mais informações são necessárias)
2). Posso adicionar espaço de SWAP? Se sim, como? É seguro adicionar espaço de troca depois de configurar o sistema?

EDITAR:

1). Memória: Eu corri ps -axu --sort -rss | head -n 10 como sugerido por Fox (em comentários) e descobri que my sunspot (uma jóia do rails para pesquisa de texto completo baseada em solr ) estava comendo memória. Existem opções para limitar o uso de memória para manchas solares.

2). Trocar espaço

Seguiu as etapas de Tom em resposta aceita.

    
por Pravin 17.12.2011 / 07:05

1 resposta

4

Provavelmente há tudo que você pode fazer diretamente sobre o uso da memória. Ruby on Rails é massivamente com fome de memória, especialmente quando é ORM constrói recursivos ActiveRecords de objetos profundos. O Apache também não é particularmente leve.

Você pode querer pegar o MySQL Tuner e ver quanta RAM o banco de dados roubou no pico de uso (cache de tabela, cache de consulta, pools de conexão).

Adicionando swap após o fato é fácil , mas pode ser massivamente lento. Especialmente porque a maioria dos VPSs está em backends de E / S supercomprometidos e de baixa potência.

Vamos criar um arquivo de 512MB

  1. dd if=/dev/zero of=/swapfile1 bs=1024 count=524288 Isso cria um arquivo esparso de 512 MB em / swapfile
  2. mkswap /swapfile1 Isso formata para uso de swap
  3. swapon /swapfile1 Isto diz ao kernel para usá-lo para swap
  4. vim /etc/fstab Editar Fstab e, em seguida,
  5. /swapfile1 swap swap defaults 0 0 Anexe esta linha à parte inferior do arquivo, assim, quando você reiniciar, obterá a mesma partição swap montada novamente.
por 17.12.2011 / 12:10