Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

error_occured_during_initialization_of_vm_java [2016/12/16 10:15]
error_occured_during_initialization_of_vm_java [2016/12/16 10:15] (Version actuelle)
Ligne 1: Ligne 1:
 +Modifié par Calvat, le 16 Jun 2014\\
 +\\
 +
 +====== Error occured during initialization of VM (java) ======
 +
 +\\
 +\\
 +
 +=====  Description du problème =====
 +
 +L'​ordonnanceur de batch Univa Grid Engine applique une limite hard et soft à chaque job via la commande unix "​limit"​. Les valeurs fixées par la commande limit concerne la mémoire et la taille des fichiers et sont appliqués à chaque process.
 +
 +Au moment du démarrage, la VM java effectue un test mémoire très rapide qui peut occuper une grande partie de la mémoire de la machine de calcul. La limite sur la mémoire empêche ce test de s'​efffectuer correctement et conduit à une erreur java du type :
 +
 +<​code>​
 +Error occured during initialization of VM
 +Could not reserve enough space for object heap
 +</​code>​
 +
 +=====  Solution =====
 +
 +1) D'​abord spécifier la limite du RAM stack size pour l'OS, par exemple à 10Mo, dans le script lancer par la commande qsub:
 +
 +<​code>​
 +ulimit  -S -s  10240
 +</​code>​
 +ou par l'​option ​ s_stack de la commnde qsub 
 +
 +<​code>​
 +qsub -l s_stack=10240 ​
 +</​code>​
 +2) Pour un job de la classe "​long"​ (4Go RAM) il faut spécifier 1 Go de Max Heap Size (-Xmx) pour la JVM.
 +
 +<​code>​
 +java -Xmx1024m -version ​
 +</​code>​
 +Note: il faut mettre d'​abord les options -Xm* avant la commande java à exécuter.
 +
 +\\
 +
 +
  
  • error_occured_during_initialization_of_vm_java.txt
  • Dernière modification: 2016/12/16 10:15
  • (modification externe)