46 votes

Lire les paramètres de démarrage de la JVM Java (par exemple -Xmx)

Je suis en train de voir si il y a un moyen pour déterminer la JVM des propriétés de démarrage à partir de l'intérieur de l'exécution d'un processus java. Plus précisément, je suis à essayer de trouver où paramètres tels que-Xmx (maximum segment size) et -XX:MaxPermSize sont stockées. Je suis en cours d'exécution du Soleil 1.6 jvm.

Si vous vous demandez pourquoi je veux le faire, j'ai un certain nombre de JVM des serveurs web qui peut ou peut ne pas être configuré correctement et je tiens à ajouter ceci dans le code de démarrage de la vérifier. Il est beaucoup plus facile pour moi de vérifier dans un morceau de code java qui est déployé partout que de trouver manuellement et de vérifier tous les fichiers de démarrage de la jvm. Maintenant la jvm des fichiers de configuration pour le meilleur ou pour le pire ne font pas partie de notre processus de construction ou de vérification dans le contrôle de source.

53voto

VonC Points 414372

Essayez:

import java.lang.management.ManagementFactory;
import java.lang.management.RuntimeMXBean;

import java.util.List;

public void runtimeParameters() {
  RuntimeMXBean bean = ManagementFactory.getRuntimeMXBean();
  List<String> aList = bean.getInputArguments();

  for (int i = 0; i < aList.size(); i++) {
    System.out.println( aList.get( i ) );
  }
}

Qui devrait montrer tous les paramètres de la JVM.

Remarque: nous n'avons pas de paramètre de JVM dans VCS, mais dans une base de données, lu par nos propres lanceurs dans les productions. De cette façon, nous pouvons modifier ces valeurs à distance, sans avoir à redéployer JVM paramètre du fichier de paramètres.


Vous trouverez un bon résumé des différentes JVM des outils à utiliser dans cet article (à partir de la "Dustin de Développement de Logiciels Cogitations et de Spéculations"), y compris Java Lanceur d'Application les liens :

Cette technique tire avantage de la Plate-forme MXBeans disponible depuis J2SE 5 (personnalisé MXBeans de soutien a été ajoutée dans Java SE 6).

Deux sources de renseignements utiles sur la JVM paramètres disponibles lors de l'utilisation de Sun JVM sont:

Ces deux ressources en établir la liste et décrire certains/tous les non-recommandé-pour-les-jeux-développeur double X arguments (-XX) qui sont disponibles.

10voto

mduigou Points 742

Avec Java 7, c'est aussi simple que

java -XshowSettings:all

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X