Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/345.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Netbeans 6.5探查器评测远程web应用程序?_Java_Netbeans_Profiler - Fatal编程技术网

Java 使用Netbeans 6.5探查器评测远程web应用程序?

Java 使用Netbeans 6.5探查器评测远程web应用程序?,java,netbeans,profiler,Java,Netbeans,Profiler,我在使用Netbeans 6.5探查器远程评测java web应用程序的内存使用情况时遇到问题 我遵循了中的步骤,并且能够定制一个Tomcat实例,以从分析代理开始。我还可以将Netbeans探查器连接到正在运行的服务器:在几秒钟内,探查器会显示服务器内存使用情况的图表 但是,我无法运行已部署的web应用程序。几秒钟后,服务器会优雅地关闭,就好像它只是到达了其主方法的底部一样(这很难达到web服务器的预期行为) 在这几秒钟内,服务器不负责,我无法连接到其中的web应用程序,它们根本没有部署 我不

我在使用Netbeans 6.5探查器远程评测java web应用程序的内存使用情况时遇到问题

我遵循了中的步骤,并且能够定制一个Tomcat实例,以从分析代理开始。我还可以将Netbeans探查器连接到正在运行的服务器:在几秒钟内,探查器会显示服务器内存使用情况的图表

但是,我无法运行已部署的web应用程序。几秒钟后,服务器会优雅地关闭,就好像它只是到达了其主方法的底部一样(这很难达到web服务器的预期行为)

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

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


我想在Netbeans 6.5中评测一个web应用程序。我忘记了什么?

正在分析整个Web服务器,或者您是否使用分析过滤器仅分析您的包?
减少探查器和应用服务器之间的交互可以解决这个问题。

您也可以使用VisualVM工具。遵循以下提到的步骤

1) 运行jstatd(jstat demon进程)(在运行应用程序的远程计算机上运行) 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) 在本地计算机上启动visual VM。 A.在“远程”选项卡下,添加远程节点。 B等待几分钟,您将看到所有核心应用程序实例将显示在远程选项卡下。 C单击远程节点,然后选择添加JMX连接指定节点:端口(第2点中提到的端口) D等待几秒钟,您将看到远程节点下的JMX连接

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

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

使用netbeans进行评测不适用于jrockit、ibmjdk等


--kiran.kumar

你能在不部署webapp的情况下评测/监控tomcat本身吗?只运行“空”的tomcat?同样的事情也发生在我身上。如果我们把我们正在运行的东西的一些版本号放进去,这样人们就可以搜索这个问题,也许会有帮助?我试图部署到Tomcat5.5.x中,它同时在Java5和Java6上运行。另一方面,我的Netbeans版本是6.5,将我的项目导入Netbeans,然后运行探查器工作得很好@sergey很不幸,Tomcat中没有任何输出logs@MatthieuBROUILLARD我刚刚试着用一个“空的”Tomcat运行,同样的事情仍然发生,对于Java5和Java6,运行visual vm插件并检查perm gen等。