2012-11-01 135 views
5

我有一个无头Java应用程序,作为守护程序式进程在远程服务器上运行。如何配置远程运行的无头Java应用程序?

我想从进程中提取Java级别分析信息,其排序显示为JVisualVM。例如,它应该显示方法调用时间等。

什么是这样做的最佳方式?我的理解是,JVisualVM在远程连接时不会配置文件。

理想情况下,分析信息将以类似于Java堆生成(使用jmap)和稍后分析(使用堆检查器)的方式存储在文件中供以后检查。

+2

你可以用商业的剖析做到这一点,但我不知道如何与VisualVM的做到这一点。 –

+1

如果这是最普遍的,当前的事实,那么可能值得提出这个答案。 –

+1

如果没有人知道方法,我会的。也许Java的安全模型允许您在同一台机器上注入代码,但不能从另一台机器上注入代码? –

回答

1

您可以使用NetBeans profiler远程分析能力。

远程性能

简介这是一个不同的体系比你的NetBeans IDE中运行的应用程序。探查器的远程包可以安装在远程系统上,允许您分析在该系统上启动的应用程序。

其实VisualVM is based on it

除了各种监控功能,该工具包含基于对NetBeans Profiler一个内置分析器。虽然VisualVM中的Profiler UI看起来很简单(特别是与NetBeans Profiler相比),但性能分析功能几乎与NetBeans中的功能一样强大。

这里是关于Profiling a Java remote server using Netbeans的详细博客文章。

+0

这确实回答了这个问题。我想最初我是在寻找能够记录的东西,而不是真的想要连接到这个过程,但并没有明确说明这一点。但是,这回答了问题,所以有一些要点;) –

相关问题