Mon expérience avec le Soleil et la Jvm IBM a mis au jour deux différences importantes pour moi. Il y a probablement d'autres, mais ceux-ci sont le plus important de ce que j'ai fait récemment. Espérons que cela aide.
Gestion De La Mémoire
IBM et Sun Jvm ont radicalement différents modèles de mémoire, ce qui peut affecter de manière significative la collecte des ordures de la performance. La JVM de Sun utilise un générationnelle garbage collector, qui fonctionne mieux pour les objets éphémères et raisonnablement bien si vous allouer beaucoup de mémoire à votre JVM (à l'aide de l' -Xms
et -Xmx
drapeaux). Il est typique lors de l'utilisation de la JVM de Sun pour utiliser les mêmes valeurs pour le minimum et le maximum de tailles de tas (par exemple, -Xms1536m -Xmx1536m
). Cela fonctionne bien pour les générations GC modèle parce que la JVM de Sun ne sera mineur garbage collections régulièrement, balayer, seule une petite partie de l'ensemble du segment.
La JVM IBM, par défaut, ne pas utiliser un générationnelle garbage collector. Vous pouvez demander à la JVM IBM pour l'utiliser comme un commutateur de ligne de commande (-Xgcpolicy:gencon
), mais ce n'est pas la valeur par défaut. Garder la valeur par défaut non-générationnelle garbage collector peut améliorer les performances de certaines applications, mais YMMV. Avec la JVM IBM, il est important de fixer -Xms
aussi bas que possible et de permettre à la JVM pour pousser le tas jusqu'à -Xmx
en tant que de besoin. Si vous définissez à la fois à la même valeur, comme vous le feriez pour la JVM de Sun, vous aurez de très hautes performances de l'application jusqu'à la première de "Stop the world" garbage collection. Ensuite, votre application va s'accrocher pour potentiellement minutes alors qu'il neutralise le tas.
Dépannage
Je suis un grand fan de la JVM IBM fil des décharges. L'Oracle/Sun sont beaucoup plus faciles à lire si vous êtes à la recherche comme un humain, mais je n'ai pas trouvé rien de mieux que le IBM Fil et Moniteur de Vidage de l'Analyseur pour l'Oracle de la JVM. IBM outil a été précieux pour moi dans le dépannage des problèmes de performances.
Je suis conscient de Samouraï, qui est à peu près un outil équivalent pour Oracle JVM fil des décharges, mais il n'a pas un ensemble de fonctionnalités que l'IBM équivalent.