Ho riscontrato questo problema anche con il mio desktop Ubuntu 14.04.
free -m
Anche questi comandi di base hanno mostrato errore Impossibile allocare memoria. Durante le indagini, è stato scoperto che il sistema utilizza tutta la memoria per la memorizzazione nella cache e non sta liberando memoria. Questo si chiama Cache Ballooning e risolve questo problema cancellando la cache.
Nel mio caso, il sistema operativo stava esaurendo il PID anziché la memoria, ma il messaggio di errore era lo stesso.
Il valore predefinito del numero PID massimo è 32768, per visualizzare il valore eseguire
cat /proc/sys/kernel/pid_max
Per modificare il numero massimo di pid, esegui
echo 100000 > /proc/sys/kernel/pid_max
Nel mio scenario, la causa principale era che un processo java generava più di 18.000 thread (nel kernel Linux, il thread è essenzialmente un processo), per scoprire il numero di thread di ciascun processo, esegui
ps -eo nlwp,pid,args --sort nlwp