où trouver la valeur XSS par défaut pour Sun / Oracle JVM?
est-ce que quelqu'un a déjà trouvé un seul document JVM default XSS sizes
pour différentes versions de la JVM Sun/Oracle, et pour différents OS?
j'ai été en mesure de trouver cette table dans le jrockit JDK 5.0 docs , mais ce n'est pas utile pour ceux qui utilisent le" normal " Sun/Oracle JVM.
je comprends que la valeur XSS
varie par OS (et version JVM), donc peut-être qu'il n'y a pas un seul document qui liste tous les récents combinaison. Mais si des lecteurs ici connaissent des documents individuels qui énumèrent au moins juste la valeur XSS par défaut pour chaque version JVM (ou au moins 1.6 et 1.5), ou même si seulement pour certains OS, ce serait un bon début.
j'ajouterai que la raison pour laquelle ceci est valable est que souvent nous voyons les gens recommander (à tort, je pense) que quelqu'un peut résoudre un problème en changeant la valeur XSS
. Mais si vous ne savez pas votre défaut, alors il n'y a aucun moyen de savoir si vous augmentez ou baissez la valeur par n'importe quel changement recommandé par quelqu'un. Ils n'indiquent généralement pas la version ou le système D'exploitation sur lequel ils sont installés, donc c'est un coup de pinceau pour savoir si leur suggestion va vous "aider".
encore mieux qu'une certaine documentation, si quelqu'un sait comment interroger la JVM pour obtenir la valeur actuelle, que ce soit depuis la ligne de commande ou via un appel API, cela serait encore plus utile. Grâce.
5 réponses
, essayez:
java -XX:+PrintFlagsFinal -version | grep ThreadStackSize
cette information apparaît maintenant dans la FAQ D'Oracle Hotspot http://www.oracle.com/technetwork/java/hotspotfaq-138619.html#threads_oom
vous pourriez rencontrer un problème avec la taille de la pile par défaut pour les threads. En Java SE 6, la valeur par défaut de Sparc est 512k dans la VM 32 bits, et 1024k dans la VM 64 bits. Sur x86 Solaris / Linux, il est 320k dans la VM 32 bits et 1024k dans la VM 64 bits.
Sur Windows, la taille par défaut de la pile de threads est lue à partir du binaire (java.EXE.) Depuis Java SE 6, cette valeur est 320k dans la VM 32 bits et 1024k dans la VM 64 bits.
vous pouvez réduire la taille de votre pile en exécutant l'option-Xss. Par exemple:
java -serveur -Xss64k
notez que sur certaines versions de Windows, L'OS peut arrondir les tailles de la pile de fil en utilisant une granularité très grossière. Si la taille demandée est inférieure à la taille par défaut par 1K ou plus, la taille de la pile est arrondie à la taille par défaut; sinon, la taille de la pile est arrondie à un multiple de 1 MB.
64k est la plus petite quantité d'espace de pile permise par fil.
vous pouvez le trouver sur le site Oracle sous"- XX:ThreadStackSize " option qui signifie la même chose que-Xss.
pour hotspot il dépend de votre architecture et ce qui ne l'est pas.
la taille par défaut de la pile peut être trouvée dans le code source dans les fichiers d'en-tête qui se rapportent à une plate-forme donnée par exemple
recherche de code google (edit: ce service a été désactivé depuis que cette réponse a été faite, malheureusement) Mise à jour: voici un nouveau lien de Nebelmann: Openjdk source: globals_windows_x86.HPP
Je ne sais pas si cela aide mais c'est un début
il y a des paramètres par défaut disponibles dans le guide D'utilisation D'IBM Java 6 ( source ):
Xss
AIX®: 256KB
IBM®I: 256KB
Linux: 256KB
Windows: 256KB
z/OS®: 256KB