2014-11-18 12 views
6

Sto ospitando la mia app Rails su Ubuntu 12.04 VPS, Nginx + Unicorn, dopo l'implementazione tutto va bene, ma poche ore dopo, quando eseguo ssh su VPS ottengo questo messaggioSSH e -bash: fork: Impossibile allocare memoria VPS Ubuntu

-bash: fork: Cannot allocate memory 

-bash: wait_for: No record of process 4201 

-bash: wait_for: No record of process 4201 

Se corro alcun comando, sarebbe solo tornare

-bash: fork: Cannot allocate memory. 

risposta

10

Sembra si è a corto di memoria. Molti server VPS sono configurati senza scambio, quindi quando si esaurisce la memoria, questo uccide le cose in modo apparentemente casuale.

Il modo più semplice per risolverlo è ottenere più memoria fornita al VPS, probabilmente con un costo maggiore. Il prossimo modo migliore (a parte l'esecuzione di meno materiale e la memoria che ottimizza tutto ciò che è in esecuzione) sarebbe aggiungere una partizione di swap o un file di scambio.

Per un file di swap da 1 GB (come root):

dd if=/dev/zero of=/swapfile bs=1M count=1024 
mkswap /swapfile 
swapon /swapfile 

assicurarsi di aggiungere in/etc/fstab anche come:

/swapfile none swap defaults 0 0 

che renderà più tornare indietro dopo il riavvio.

+0

Grazie anche a quello, ci ho pensato anche io, ma ho ricevuto 1G Ram e una nuova app Rails distribuita senza traffico, come poteva esaurire la sua memoria? – user1883793

+0

Il mio sospetto sarebbe qualcosa nell'app per rails che sta mantenendo i dati inutilmente in memoria quando ha finito e forse la garbage collection non può raccoglierla? – Beirdo

Problemi correlati