使用Netbeans 6.5 Profiler来配置远程Web应用程序?

时间:2009-04-08 17:55:04

标签: java netbeans profiler

我无法使用Netbeans 6.5分析器远程配置java Web应用程序的内存使用情况。

我已按照tutorial中的步骤操作,并且能够自定义Tomcat实例以启动性能分析代理。我还可以将Netbeans探查器连接到正在运行的服务器:几秒钟后,探查器会显示包含服务器内存使用情况的图表。

但是,我无法运行已部署的Web应用程序。几秒钟后,服务器正常关闭,就好像它已经到达方法main的底部(几乎不是Web服务器的预期行为)。

在这几秒钟内,服务器不负责任,我无法连接到其中的Web应用程序,它们根本就没有部署。

我不想将我的应用程序导入到新的Netbeans项目中,只是为了对其进行分析。可以在不访问其来源的情况下分析远程应用程序,对吗?毕竟,几秒钟后,服务器正在运行并进行分析。

我想在Netbeans 6.5中分析Web应用程序。我忘记了什么?

3 个答案:

答案 0 :(得分:1)

您也可以使用VisualVM工具。请按照以下步骤进行操作。

1)运行jstatd(jstat恶魔进程)(在运行应用程序的远程计算机上运行)     jstatd -p 1098 -J-Djava.security.policy = tools.policy(指定未使用的端口)如果未指定tools.policy文件,请按如下方式创建它。

tools.policy 
grant codebase "file:${java.home}/../lib/tools.jar" {

权限java.security.AllPermission; };

2)在启动JVM之前,还要指定以下属性。

#JMX property
JVM_ARGS="${JVM_ARGS} -Dcom.sun.management.jmxremote=true"
JVM_ARGS="${JVM_ARGS} -Dcom.sun.management.jmxremote.port=10992"
JVM_ARGS="${JVM_ARGS} -Dcom.sun.management.jmxremote.authenticate=false"
JVM_ARGS="${JVM_ARGS} -Dcom.sun.management.jmxremote.ssl=false"

3)在本地计算机上启动可视VM。         一个。在远程选项卡下添加远程节点。         湾等待几分钟,您将看到远程选项卡下将显示所有核心应用程序实例。         C。单击远程节点,然后选择Add JMX connections,指定node:port(上面第2点中提到的端口)         d。等待几秒钟,您将看到远程节点下的JMX连接。

4)几秒钟后,您将看到远程节点下出现新选项卡。双击remote_node:10992,您将在右侧看到配置文件表。         你可以看到内存,cpu,线程等细节..

答案 1 :(得分:0)

是在分析整个网络服务器,还是使用分析过滤器来仅分析您的包? 减少探查器和应用服务器本身之间的交互可以解决它。

答案 2 :(得分:0)

检查你的jvm版本。 netbeans使用的版本应与tomcat中的版本相同。 使用默认端口。如果您更改了任何端口,请确保它们高于1024。 尝试在tomcat中分析示例应用程序(删除所有其他应用程序)。如果它成功运行,则意味着存在内存约束。 分析需要巨大的内存。使用-xms1024m -xmx1024m用于tomcat。 如果其他一切都失败了。想到切换到jdk6和tomcat 6。 经过多次试验,我发现jdk5和tomcat5有很多限制。切换到tomcat6和jdk6为我解决了这个问题。

使用netbeans进行性能分析不起作用jrockit,ibm jdk等..

- kiran.kumar