время с начала JVM - PullRequest
       10

время с начала JVM

51 голосов
/ 03 мая 2009

Есть ли способ узнать время с момента запуска JVM?

Конечно, кроме запуска таймера где-то в начале main, потому что в моем сценарии я пишу код библиотеки и требование, чтобы что-то вызывалось сразу после запуска, было слишком обременительным.

Ответы [ 5 ]

77 голосов
/ 03 мая 2009

Использовать этот фрагмент:

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

или

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

Это правильный способ получения времени работы JVM.

Подробнее см. http://java.sun.com/j2se/1.5.0/docs/api/java/lang/management/RuntimeMXBean.html

12 голосов
/ 03 мая 2009

Время запуска JVM можно получить в следующем коде:

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

См. Больше http://java.sun.com/javase/6/docs/api/java/lang/management/RuntimeMXBean.html

3 голосов
/ 11 июля 2015

если ваша программа jvm работает в linux, вы можете просмотреть startTime, используя ps

ps -p <pid> -o stime,etime 
2 голосов
/ 03 мая 2009

Начиная с Java 5, вы можете использовать JMX, чтобы это выяснить. Проверьте " Использование платформы MBeanserver ", чтобы узнать больше подробностей. Bean-компонент, который вы ищете, называется "java.lang: type = Runtime". Атрибут StartTime указывает время запуска JVM, а атрибут Uptime сообщает время работы JVM.

Вы можете получить ссылку на компонент времени выполнения, выполнив этот код: ManagementFactory.getRuntimeMXBean();

0 голосов
/ 15 мая 2015

Возможно, стоит упомянуть, что если вы не хотите писать какой-либо код, запустите jconsole из каталога java bin, нажмите Сводка виртуальной машины и посмотрите значения времени работы и времени процессора.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...