java - 简单的 Jprofiler 设置不起作用

标签 java tomcat jprofiler

我正在尝试启动并运行 JProfiler 的简单本地主机 session 。我已经创建了 session ,主机是 127.0.0.1,端口是默认的 8849,我已经将启动/关闭命令指向我本地的 tomcat 安装 startup.sh/shutdown.sh。我单击“确定”,得到“连接到 127.0.0.1:8849”,150 秒后(我修改了超时)它超时并显示:

无法连接到 127.0.0.1:8849。请确保远程地址正确,远程程序正常启动,网络路由允许socket连接。

地址不可能是错误的,我已经验证(ps -ef|grep tomcat)进程已经启动,还检查了tomcat日志,它正在等待请求:

INFO: Starting Coyote HTTP/1.1 on http-8080
Apr 15, 2011 7:49:13 AM org.apache.jk.common.ChannelSocket init
INFO: JK: ajp13 listening on /0.0.0.0:8009
Apr 15, 2011 7:49:13 AM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/21  config=null
Apr 15, 2011 7:49:13 AM org.apache.catalina.startup.Catalina start
INFO: Server startup in 47312 ms

我还需要做些什么来打开端口吗?例如,我是否应该修改传递给 tomcat 的 JAVA_OPTS?

最佳答案

是的。 你需要这样的东西(对于 OS X)

export JAVA_OPTS="-agentlib:jprofilerti=port=8849  \
   -Xbootclasspath/a:/Applications/jprofiler5/bin/agent.jar"

export DYLD_LIBRARY_PATH=/Applications/jprofiler5/bin/macos

通常当您通过 JProfiler 中的向导配置新 session 时,它会告诉您需要输入的确切参数。

对我来说,这个向导是 StartCenter -> New Session ,然后选择“New remote integration”。 然后这将询问本地/远程、启动模式、jvm 类型、分析端口,并在第 6 页上说“执行所需的修改”并列出这些内容。

或者,您可以从菜单栏中选择“集成向导”。

关于java - 简单的 Jprofiler 设置不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5678557/

相关文章:

java - Android:如何在不使用 map Activity 的情况下实现 com.google.android.gms.maps.MapView

java - 简化Java中Enum类中的方法

spring - "Unable to locate Spring NamespaceHandler for XML schema namespace"仅在可执行 jar 中发生

java - JProfiler 可以在没有 GUI 的情况下运行吗?

java - 如何从我的应用程序中检测到它是使用 JProfiler 启动的?

java - 如何给我的 Java 应用程序一个唯一的进程名称?

java - 无法看到 mapreduce wordcount 输出文件

java - 使用 javax.ws.rs 符号在项目中集成扩展 HttpServlet 的类

Java Servlet API - 如何在不提交响应的情况下设置响应状态和原因短语

grails - 在 Jprofiler 中识别 grails 应用程序的热点