Por que meu VPS está ficando sem memória?

1

Eu tenho um servidor privado virtual Linux com 1 GB de memória, mas continuo recebendo erros como:

fork failed: Cannot allocate memory

No entanto, não acho que estou com pouca memória. Se eu correr livre:

root@server44:~# free -m
             total       used       free     shared    buffers     cached
Mem:          1024        133        890          0          0          0
-/+ buffers/cache:        133        890
Swap:            0          0          0
root@server44:~# man swapon
man: fork failed: Cannot allocate memory

Eu tenho 890 MB livres, mas o fork está falhando. Alguma ideia do porquê? O servidor em que meu servidor está executando está sem memória? Meu host é o FsckVPS executando o HyperVM.

    
por FigBug 29.09.2009 / 00:59

2 respostas

2

Qual tecnologia de virtualização você está usando? Com OpenVZ / Virtuozo, pelo menos, o comando 'free' não mostra sua memória real disponível. Muitas vezes, ele é muito maior do que a quantidade que é alocada em sua fatia VPS.

Além disso, existem vários limites diferentes de 'memória' que limitam diferentes tipos de memória (nos termos do OpenVZ eles são kmemsize, lockedpages, privvmpages, shmpages, vmguarpages, oomguarpages, etc).

Se você estiver usando o OpenVZ, marque / proc / user_beancounters para ver qual limite está atingindo, verifique na coluna 'failcnt'.

    
por 29.09.2009 / 01:26
2

Poderia ser que seu host tenha excedido demais a RAM no host que está executando sua VM? Pode ser que você tenha apenas 128Mb de RAM "dedicada" e o restante disponível para burst se nenhuma outra VM estiver usando no momento. Se você nos disser mais detalhes sobre o ambiente em que você está trabalhando (qual tecnologia de VM, possível qual provedor de hospedagem e qual de seus produtos) poderemos dizer que você precisa verificar isso.

Oversell recurso RAM em um host VM é geralmente uma idéia ruim na minha opinião, mas muitos provedores de hospedagem fazem isso, se a tecnologia permitir.

    
por 29.09.2009 / 01:27