J'ai un programme Java qui est lancé par un fichier batch avec une ligne comme celle-ci :
javaw -Xms64m -Xmx1024m com.acme.MyProgram
Cependant, sur certains ordinateurs, le programme ne se lance pas et affiche le message suivant :
Impossible de réserver suffisamment d'espace pour le tas d'objets. Impossible de créer la machine virtuelle Java.
Le problème semble être que la taille maximale du pool d'allocation de mémoire est supérieure à ce que l'ordinateur peut gérer. La réduction de la taille maximale du pool d'allocation de mémoire de 1024 m à 512 m semble résoudre le problème.
Existe-t-il un moyen de déterminer à l'avance la quantité de mémoire disponible sur l'ordinateur (à partir du fichier batch) et de déterminer s'il convient d'utiliser -Xmx1024m
o -Xmx512m
dans l'invocation du fichier batch ? Notez que ce fichier batch ne doit fonctionner que sous Windows.