Corriger « OutOfMemoryError: Java heap space » et « Could not reserve enough space » sur un serveur Minecraft

Trois problèmes différents sont appelés « out of memory ». Si le serveur ne démarre pas et mentionne l'object heap, vous avez demandé à Java plus de RAM que la machine n'en a. S'il tourne puis plante avec OutOfMemoryError, il a eu besoin de plus que ce que vous lui avez donné, ou quelque chose fuit. S'il affiche seulement « Killed », le système d'exploitation l'a arrêté.

Par l'équipe Nodewave · Mis à jour le 8 novembre 2026

Quelle erreur avez-vous ?

MessageCe que cela signifie
Could not reserve enough space for object heapAu démarrage : -Xmx dépasse la mémoire disponible, ou vous utilisez un Java 32 bits.
java.lang.OutOfMemoryError: Java heap spacePendant l'exécution : le heap est plein. Le serveur a besoin de plus de mémoire ou de moins de charge, ou il a une fuite.
GC overhead limit exceededJava passe presque tout son temps à libérer de la mémoire. Les causes sont les mêmes que pour un heap plein.
« Killed », ou code de sortie 137Le système d'exploitation ou le conteneur a arrêté le serveur parce que toute la machine a manqué de mémoire.

Could not reserve enough space for object heap

  1. Vérifiez la mémoire libre. Sous Linux, exécutez free -h. Sous Windows, ouvrez le Gestionnaire des tâches.
  2. Baissez -Xmx. Java utilise plus que le heap : sur une petite machine, gardez -Xmx à trois quarts de la RAM au maximum. Sur un serveur de 4 Go, 3G est un plafond sûr.
  3. Utilisez un Java 64 bits. La sortie de java -version doit indiquer 64-Bit. Un Java 32 bits ne peut pas réserver un grand heap.
java -Xms3G -Xmx3G -jar server.jar --nogui

Réglez -Xms sur la même valeur que -Xmx, pour que le serveur réserve sa mémoire une fois pour toutes au démarrage.

java.lang.OutOfMemoryError: Java heap space

  1. Donnez plus de mémoire au serveur, si la machine en a. Voyez combien de RAM il faut à un serveur Minecraft pour les tailles selon le type de serveur.
  2. Réduisez la charge. Baissez view-distance et simulation-distance dans server.properties, par exemple à 8 et 6.
  3. Cherchez une fuite. Installez le plugin ou mod spark, laissez le serveur tourner jusqu'à ce que la mémoire soit élevée, puis exécutez /spark heapsummary. Il liste ce qui utilise le plus de mémoire. Des classes d'un même plugin en tête de liste désignent le coupable.
  4. Mettez à jour ou retirez le coupable. Les fuites de mémoire sont souvent corrigées dans une version plus récente du plugin. Donner plus de mémoire à un plugin qui fuit ne fait que retarder le plantage.
  5. Redémarrez à intervalles réguliers. Un redémarrage quotidien masque une fuite lente jusqu'à ce que vous la trouviez. C'est un palliatif, pas une solution.

« Killed » et code de sortie 137

Ce n'est pas une erreur Java. Sous Linux, l'OOM killer arrête le plus gros processus quand toute la machine manque de mémoire, et les conteneurs font de même à leur limite de mémoire. Confirmez-le dans le journal du noyau :

sudo dmesg | grep -i "killed process"

Pour corriger, baissez -Xmx afin que Java et tout le reste de la machine tiennent dans la RAM, et arrêtez les autres logiciels gourmands en mémoire, comme une base de données ou un second serveur de jeu. Un petit fichier d'échange (swap) sert de filet de sécurité, jamais de remplacement de la RAM.

Éviter que ça revienne

Hébergez votre serveur Minecraft à Singapour

Un ping faible pour les joueurs en Inde, en Malaisie et en Indonésie, sur des cœurs AMD EPYC rapides avec NVMe et protection DDoS.

Hébergement Minecraft à Singapour →