ВС
Нашел уникальное применение утилит и профайлера async-profiler для Docker-контейнеров с Alpine Linux, где запущена JVM, без открытых JMX-портов.
Оказалось, что в если в Alpine запустить jvm, то к ней невозможно подключиться по PID.
Есть дефект для связки openjdk + alpine, который помог прекратить поиски решений: https://github.com/docker-library/openjdk/issues/372
В составе async-profiler есть утилита jattach, которая делает возможным профилирование JVM для которой не был открыт JMX порт.
Для Alpine нужна сборка Linux x64 (musl), не Linux x64 (glibc).
https://github.com/jvm-profiling-tools/async-profiler
Если открыть JMX-порт через аргументы запуска JVM, то не будет проблем с трассировкой, можно будет использовать множество различных инструментов: sjk, jvisualvm, jmc, другие
Например, так: https://stackoverflow.com/questions/856881/how-to-activate-jmx-on-my-jvm-for-access-with-jconsole