J'ai également rencontré ce problème avec mon bureau Ubuntu 14.04.
free -m
Même ces commandes de base ont montré une erreur Impossible d'allouer de la mémoire. Lors de l'enquête, nous avons constaté que le système utilise toute la mémoire pour la mise en cache et ne libère pas de mémoire. Cela s'appelle Cache Ballooning et a résolu ce problème en effaçant le cache.
Dans mon cas, le système d'exploitation manquait de PID au lieu de mémoire, le message d'erreur était le même.
La valeur par défaut du numéro PID maximum est 32768, pour afficher la valeur, exécutez
cat /proc/sys/kernel/pid_max
Pour changer le nombre maximum de pid, exécutez
echo 100000 > /proc/sys/kernel/pid_max
Dans mon scénario, la cause principale était qu'un processus Java a engendré plus de 18 000 threads (dans le noyau Linux, le thread est essentiellement un processus), pour connaître le nombre de threads de chaque processus, exécutez
ps -eo nlwp,pid,args --sort nlwp