我有一个无头Java应用程序,作为守护程序样式的进程运行在远程服务器上。
我想从进程中提取JVisualVM所显示的那种Java级性能分析信息。例如,它应该显示方法调用时间等等。
做这件事的最好方法是什么?我的理解是,JVisualVM在远程连接时不会进行性能分析。
理想情况下,分析信息应该存储在一个文件中以供以后检查,其方式类似于Java堆生成(使用jmap)和以后的分析(使用堆检查器)。
发布于 2012-11-08 00:05:09
您可以使用NetBeans profiler远程评测功能。
Remote性能分析
评测在与NetBeans集成开发环境不同的系统上运行的应用程序。可以将探查器的远程包安装在远程系统上,从而允许您分析在该系统上启动的应用程序。
除了各种监视功能外,该工具还包含一个基于NetBeans profiler的内置分析器。虽然VisualVM中的分析器UI看起来很简单(特别是与NetBeans分析器相比),但其分析功能几乎与NetBeans中的一样强大。
这是一篇关于Profiling a Java remote server using Netbeans的详细博客文章。
发布于 2012-11-05 09:06:50
根据链接,您必须设置jstatd和jmx:http://javadevsoup.blogspot.de/2012/02/remote-java-profiling-using-visual-vm.html
发布于 2013-04-04 22:46:28
我刚刚发现了另一个我认为可以做到这一点的产品:http://chrononsystems.com/products/chronon-recording-server
https://stackoverflow.com/questions/13176337
复制相似问题