【问题标题】:How to connect JProfiler to an application running on localhost?如何将 JProfiler 连接到在 localhost 上运行的应用程序?
【发布时间】:2011-12-24 14:32:56
【问题描述】:

我有一个在我的本地主机上运行的应用程序,我想分析该应用程序以了解如何提高应用程序的性能。我正在按照定义执行设置步骤,但它无法连接到本地主机服务器,是否有正确的分步指南来说明如何:

  1. 配置 JProfiler 以使用在 localhost 上运行的应用程序?
  2. 如何分析以及在分析应用程序时要查找哪些区域?
  3. 使用 Eclipse IDE 配置 JProfiler,现在可以在 eclipse 的运行下拉菜单中看到配置文件,但它们没有被激活,那么如何激活它?

我有与question 类似的问题,但我无法理解解决方案,对此的任何建议将不胜感激。

我尝试了一段时间,但没有成功配置 JProfiler 以使用在 localhost 上运行的应用程序,任何建议都将受到高度赞赏。

我是分析应用程序世界的新手,如果您能提供一些有用的指针,我将不胜感激

我收到以下错误消息:

Could not connect to 127.0.0.1:8849. Please make sure that the remote address is correct, the remote program is started properly, and the network route allows socket connections. 并且我已经使用新服务器集成设置了配置,但不确定还需要做什么以及如何解决这个问题。

在运行配置下将-agentpath:C:\Users\user~1.DOS\SOFTWA~1\JPROFI~1\bin\WINDOW~1\jprofilerti.dll=port=8849,nowait,id=117,config=C:\Users\user\.jprofiler6\config.xml 添加到vm arguments 之后,当我运行配置时,我得到了

JProfiler> Protocol version 32
JProfiler> Using JVMTI
JProfiler> JVMTI version 1.1 detected.
JProfiler> 64-bit library
JProfiler> Don't wait for frontend to connect.
JProfiler> Using config file C:\Users\user\.jprofiler6\config.xml (id: 117)
JProfiler> Could not find session with id: 117`

【问题讨论】:

    标签: java eclipse web-applications profiling jprofiler


    【解决方案1】:

    不建议使用 JProfiler 将 VM 参数手动添加到 eclipse 中的运行配置中。

    有关 Eclipse IDE 集成的更多信息,请参阅 this screen castthis help page。然后,您可以使用 eclipse 运行配置来分析 JBoss,而无需添加任何 VM 参数。

    还有其他无需手动添加任何 VM 参数即可进行分析的方法:

    1. 最简单的入门方法是使用 JProfiler 中的“快速附加”功能。使用“Session->Quick Attach”,您可以获得一个正在运行的 JVM 列表,您可以对其进行分析,而无需添加任何 JVM 参数。

    2. 如果您在上述步骤中错过了 eclipse 的源代码导航,如果安装了 JProfiler 插件,则在 eclipse 中可以使用相同的操作。

    1. 对于独立配置,通过从 JProfiler 的主菜单调用“会话->集成向导->新服务器集成”来使用集成向导。集成向导将修改启动脚本,因此您无需添加任何 VM 参数。

    对于您收到的错误消息,我怀疑C:\Users\user\.jprofiler6\config.xml 不存在。将参数减少到-agentpath:C:\Users\user~1.DOS\SOFTWA~1\JPROFI~1\bin\WINDOW~1\jprofilerti.dll=port=8849 将起作用,然后JBoss VM 将等待,直到您从JProfiler 连接类型为“附加到JVM(本地或远程)”的会话。无论如何,只有在特殊情况下才需要手动添加虚拟机参数。

    【讨论】:

    • 我已经尝试了类似的步骤,但仍然无法连接,我使用的是 windows 系统,那里有问题吗?
    • 您必须提供更多详细信息。使用 Windows 肯定不是问题。听起来您的情况下没有加载该插件。您可以查看eclipse日志以检查是否有相关错误。
    • 好的,事情就是这样,我正在使用 Windows 平台,并且正在运行 jboss 的本地实例,并且我的应用程序正在本地运行,当我启动时,我也在使用 cygwin 命令行界面中的 ant 目标启动我的应用程序应用程序 jprofiler 无法找到 jboss jvm 实例,并且在 eclipse 配置文件中的按钮也未激活,我在这里要做的就是在本地主机上运行的应用程序上运行 jprofiler 以获取一些使用情况统计信息。
    • 另外,当我使用来自JProfilerQuick Attach 功能时,它会找到 eclipse jvm 实例,但它没有找到 jboss jvm 实例,因此这是配置 JProfiler 时面临的另一个问题,任何建议?
    • 只有 1.6 及更高版本的 JVM 以相同用户或本地服务运行时才能被检测到。在您的情况下,我建议运行 Session->Integration Wizards->New Server Integration 并选择 JBoss 集成向导。此外,您的 elcpse 插件安装显然没有成功。你看过日食日志吗?
    【解决方案2】:

    我知道这是一个旧线程。此外,我不确定这里描述的问题是否与我的意思相同。

    我的一位同事遇到了一个非常相似的问题:他看不到任何使用 Windows 上的“快速附加”功能运行的本地 JVM。尝试添加 jvm 代理参数或重新安装 JProfiler 也没有帮助。

    解决方案是在停止所有 java 进程后删除名为 %USERPROFILE%\AppData\Local\Temp\hsperfdata_username 的文件夹。可能与此文件夹的权限有关的东西搞砸了。

    【讨论】:

    • 这比这篇文章的实际答案解决了我的问题:D。无论如何,如果有人关注此答案,一个快速提示:删除 hsprefdata 文件夹后,请确保首先启动 Jprofiler 以让 JProfiler 创建此文件夹。然后一切正常。
    猜你喜欢
    • 1970-01-01
    • 2013-12-20
    • 1970-01-01
    • 2014-08-19
    • 2017-11-21
    • 2013-09-13
    • 1970-01-01
    • 2020-08-08
    • 2014-12-30
    相关资源
    最近更新 更多