Подтвердить что ты не робот

Время с момента запуска JVM

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

Время запуска 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

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

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

Ответ 4

Если ваша программа jvm работает в Linux, вы можете просмотреть использование startTime ps

ps -p <pid> -o stime,etime 

Ответ 5

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