Java webstart max-heap-taille causes de la JVM ne peut pas être démarré

Nous utilisons java webstart sur le côté client pour un java swing en fonction aplication. Récemment, nous avons été confronté à un étrange "Ne peut pas démarrer la machine Virtuelle java" erreur lorsque vous cliquez sur dans le jnlp lien.

Nous nous sommes vite découvrir son parce que le max-heap-réglage de la taille dans le fichier jnlp a été mis à 1024m alors que la plupart des PC clients ont seulement 1 go de mémoire physique. Réglez max-heap-taille retour à 512m résolu le problème.
Actuellement, la ligne correspondante dans le fichier jnlp ressemble

 <j2se version="1.5+" initial-heap-size="100m" max-heap-size="512m"/>

J'ai regardé dans le jnlp spec, mais ne trouvez pas tout ce qui est lié à la "machine Virtuelle Java". En théorie, le max-heap-taille devrait pas autant d'importance que la première-tas-taille. Mais notre expérience a suggéré tout à fait le contraire.

De l'environnement client:

Windows XP SP2 ( 32bit ), Internet Explorer 8.06, de la Mémoire 1G
Note max-heap-définissez la taille de 1024m peut provoquer le même problème sur une machine avec 2G de ram.

Fondamentalement, ce que je cherche ici est une référence/spec/expérience sur les raisons de ce qui se passe, et si il n'y a aucun get-rond pour cette question, outre l'augmentation de la taille de la mémoire physique.

Une autre chose est que si on laisse le max-heap-taille non spécifiée, la taille de la mémoire physique être utilisé comme max-heap-taille, ou d'un système par défaut sera utilisé?

Grâce,
JasonW

OriginalL'auteur Jason Wang | 2010-07-19