Question

Existe-t-il un moyen de connaître le temps écoulé depuis le démarrage de la machine virtuelle Java?

Bien sûr, mis à part le démarrage d'une minuterie vers le début de main , car dans mon scénario, j'écris le code de la bibliothèque et l'exigence d'appeler immédiatement après le démarrage est trop lourde.

Était-ce utile?

La solution

Utilisez cet extrait:

long jvmUpTime = ManagementFactory.getRuntimeMXBean().getUptime();

ou:

long jvmStartTime = ManagementFactory.getRuntimeMXBean().getStartTime();

C’est la bonne méthode de récupération du temps d’activation de la machine virtuelle Java.

Pour plus d'informations, voir http: //java.sun.com/j2se/1.5.0/docs/api/java/lang/management/RuntimeMXBean.html

Autres conseils

Vous pouvez obtenir l'heure de début de la machine virtuelle Java dans le code suivant:

import java.lang.management.ManagementFactory;
  import java.lang.management.RuntimeMXBean;
  ...
  RuntimeMXBean runtimeMXBean = ManagementFactory.getRuntimeMXBean();
  long uptimeInMillis = runtimeMXBean.getUptime();

Voir plus de http: // java .sun.com / javase / 6 / docs / api / java / lang / management / RuntimeMXBean.html

si votre programme jvm s'exécutant sous linux, vous pouvez afficher l'utilisation de startTime ps

.
ps -p <pid> -o stime,etime 

À partir de Java 5, vous pouvez utiliser JMX pour le savoir. Vérifiez les " Utilisation du serveur MBeanserver de la plateforme . ; pour plus de détails. Le bean que vous recherchez est le bean appelé "java.lang: type = Runtime". L'attribut StartTime vous indique l'heure à laquelle la machine virtuelle a été démarrée et l'attribut Uptime vous indique le temps de disponibilité de la machine virtuelle.

Vous pouvez obtenir une référence au bean Runtime en exécutant ce code: ManagementFactory.getRuntimeMXBean ();

Il convient peut-être de mentionner que si vous ne souhaitez écrire aucun code, exécutez jconsole à partir du répertoire java bin et cliquez sur VM Summary (Résumé de la machine virtuelle) pour afficher les valeurs de temps Uptime et Process CPU.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top