Как я могу взять дамп "кучи" на Java 5, не собирая "мусор" сначала?

Вы могли поместить тело своего сценария в функцию, и затем Вы могли возвратиться из той функции.

def main():
  done = True
  if done:
    return
    # quit/stop/exit
  else:
    # do other stuff

if __name__ == "__main__":
  #Run as main program
  main()
8
задан Colin 12 August 2009 в 19:51
поделиться

3 ответа

Я предлагаю сторонний профилировщик, такой как YourKit , который может позволить вам делать снимки, не отключая сначала сборщик мусора. Дополнительный бонус, вы можете сделать снимок без всяких махинаций ctrl-break.

1
ответ дан 5 December 2019 в 08:25
поделиться

У меня здесь есть код, который может программно получить дамп кучи через JMX:

Ссылка: JmxHeapDumper.java

Комментарии в исходном коде содержат 2 ссылки на статьи который содержал полезную информацию о том, как снимать дамп кучи. Я не знаю наверняка, но если вам повезет, возможно, подход JMX позволит каким-то образом избежать GC. Надеюсь, это поможет!

3
ответ дан 5 December 2019 в 08:25
поделиться

jProfiler ( ej-technologies ) может это сделать.

0
ответ дан 5 December 2019 в 08:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: