我有一个无头的Java应用程序,在远程服务器上作为守护进程式进程运行。
我想从JVisualVM显示的排序中提取Java级别的分析信息。例如,它应该显示方法调用时间等。
这样做的最佳方式是什么?我的理解是,远程连接时JVisualVM不会进行分析。
理想情况下,分析信息将存储在文件中以供以后检查,其方式类似于Java堆生成(使用jmap)和以后的分析(使用堆检查器)。
答案 0 :(得分:1)
根据链接,您必须设置jstatd和jmx: http://javadevsoup.blogspot.de/2012/02/remote-java-profiling-using-visual-vm.html
答案 1 :(得分:1)
您可以使用NetBeans profiler远程分析功能。
远程分析
配置在与NetBeans IDE不同的系统上运行的应用程序。探查器的远程包可以安装在远程系统上,允许您分析在该系统上启动的应用程序。
除了各种监控功能外,该工具还包含一个基于NetBeans Profiler的内置分析器。虽然VisualVM中的分析器UI看起来很简单(特别是与NetBeans分析器相比),但分析功能几乎与NetBeans一样强大。
答案 2 :(得分:0)
我刚发现另一种产品,我认为这样做:http://chrononsystems.com/products/chronon-recording-server