2012-11-14 4 views
4

Знаете ли вы хороший инструмент анализатора дампов резьбы? Идеально было бы:Анализатор дампа нитей

  • бесплатно
  • может прочитать несколько потоков дампы и сравнить их
  • точку из которой нити взял длинный, какие классы, что нить запертые на пр
  • шоу нити, замки, тупики и несколько потоков ожидают получения одной блокировки

Edit:

  • автономный анализ - загрузите файл с одним или несколькими дампами потоков и проанализируйте его.

Edit: Мой выбор: Samurai. Он имеет все необходимые функции: Загружает файл журнала и сравнивает несколько дампов потоков. Анализируй это и указывает:

  • ожидающие потоки
  • заблокированные нити
  • блокирующие нити
  • тупиковых

Я оставляю вопрос ответил, потому что TDA является лучшим ответом, который был дан.

+0

Я нашел, что анализатор потока дамбы полезен http://spotify.github.io/threaddump-analyzer/ – Chris

ответ

4

Вы можете использовать TDA - Thread Dump Analyzer, плагин для Visual VM.

Визуальная виртуальная машина также бесплатна. Я думаю, что это ваш лучший выбор.

Если вы на Linux, вы можете использовать убить -3, чтобы получить дамп нить и искать тупики с помощью использования анализатора Thread Dump.

VisualVM теперь поставляется как часть JDK и может использоваться для использования памяти монитора , потоков, а также включает профилировщик.

jmap может использоваться для получения гистограмм кучи и кучи свалок из Java процессов. Затем вы можете использовать такой инструмент, как Eclipse Memory Analyzer, до .

В качестве еще одного упомянутого ответа вы можете посмотреть JMX и JConsole. Для каждой услуги в нашем приложении у нас есть MBean, поэтому мы можем просматривать ключи такие статистики, как размеры очереди, чтобы проверить, что что-то похожее на обычное.

От Tools and tips for Sun JVM troubleshooting от ServerFault.

+0

Насколько я вижу, в visualvm я не могу выполнять офлайн-анализ. Я что-то пропустил? В моем случае я не могу подключить анализатор к исполняемому экземпляру. –

+0

@AugustinGhauratto как планируют получать потоки без подключения к исполняемому экземпляру? –

+0

В linux: kill -3 java_instance_pid, генерирует дамп потока в консольном журнале. Я не могу позволить больному тяжело нагружать груз. И у меня нет физической возможности сделать это - sshd имеет переадресацию, а visualvm, насколько я исследовал, это графический инструмент. –

1

В случае использования IBM JRE вы должны использовать IBM Thread and Monitor Dump Analyzer for Java, который предлагает именно то, что вам нужно (автономное использование, сравнение и т. Д.).

-1

Вы можете попробовать мой Dump Analyzer. У меня была такая же потребность и был разработан мой собственный анализатор дампов. В нем есть некоторые функции вашего списка.

+0

Это должен быть комментарий, а не ответ. –

+0

Я не понимаю, почему должен быть комментарий, мой ответ подобен остальным ответам ... каждый ответ предлагает приложение для анализа дампов потоков. Кстати, проект теперь находится на Github: [https://github.com/sergiocormio/dump-analyzer](https://github.com/sergiocormio/dump-analyzer) – user3490698