Как узнать, выполняет ли JVM в настоящее время GC? - PullRequest
0 голосов
/ 25 июня 2018

У меня есть сценарий использования, когда мне нужно остановить запросы, отправляемые в java restful-службу, если JVM службы в данный момент выполняет GC.Как / какой API может помочь мне найти это?

Ответы [ 2 ]

0 голосов
/ 25 июня 2018

Существуют разные способы мониторинга ГХ, но единственное отличие состоит в том, как отображается информация о работе ГХ.GC выполняется JVM, и поскольку инструменты мониторинга GC раскрывают информацию GC, предоставленную JVM, вы получите те же результаты, независимо от того, как вы отслеживаете GC.

Методы мониторинга GC можно разделить на CUI и GUI в зависимости от интерфейса доступа.Типичный метод мониторинга CUI GC включает использование отдельного приложения CUI под названием «jstat» или выбор опции JVM под названием «verbosegc» при запуске JVM.

jstat - инструмент мониторинга в HotSpot JVM,Другими инструментами мониторинга для HotSpot JVM являются jps и jstatd.Иногда для мониторинга Java-приложения требуются все три инструмента.

- verbosegc - это один из параметров JVM, указанных при запуске приложения Java.Хотя jstat может отслеживать любое приложение JVM, которое не указало никаких параметров, в начале необходимо указать -verbosegc, поэтому его можно рассматривать как ненужный параметр (поскольку вместо него можно использовать jstat).

0 голосов
/ 25 июня 2018

Вы, вероятно, можете сделать это, используя visualVM и его API. Visual vm - это визуализация процесса GC. Но у него есть и собственный API. Visual VM

...