Почему JMC, JConsole, JVisualVM никогда не могут подключится к зависшему java-процессу, хотя jstack может?
Есть Java-приложение, которое иногда начинает потреблять 100% CPU (все 8 ядер под завязку, на линуксе). При попытке подключится к нему с помощью JMC, JConsole или JVisualVM ни одна из них не справляется с этой тривиальной задачей, для которой они, кажется, и разработаны. Подключения локальные, т.е. на той же машине. При этом консольный jstack иногда может получить стек даже без форсированного режима (флага -F).
Почему так происходит? А также может ли кто посоветовать нормальный инструмент для отладки таких спонтанно возникающих проблем. Обращаю внимание, что проблема с локальным подключением к JVM. Попытка искать хоть какую-то информацию в гугле натыкается на то, что все жалуются на невозможность remote подключения, как-будто это только у меня такая проблема, чего явно быть не может.