Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/304.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 VisualVM评测在检测类时挂起_Java_Profiler_Visualvm - Fatal编程技术网

Java VisualVM评测在检测类时挂起

Java VisualVM评测在检测类时挂起,java,profiler,visualvm,Java,Profiler,Visualvm,我在尝试用VisualVm评测Java应用程序时有一个奇怪的行为 Hostsystem=SUSE Linux企业服务器10 JavaJDK(运行的是VisualVM和应用程序配置文件)=jdk1.8.0(64位 使用相同的JDK评测主机上运行的其他应用程序(例如Tomcat)不会出现此问题 在Windows上评测我的应用程序(从Eclipse运行)也可以正常工作 启动分析后,日志将读取以下行: INFO [org.netbeans.ui.metrics.profiler]: Profiler A

我在尝试用VisualVm评测Java应用程序时有一个奇怪的行为

Hostsystem=SUSE Linux企业服务器10

Java
JDK
(运行的是
VisualVM
和应用程序配置文件)=jdk1.8.0(64位

使用相同的
JDK
评测主机上运行的其他应用程序(例如Tomcat)不会出现此问题

在Windows上评测我的应用程序(从Eclipse运行)也可以正常工作

启动分析后,日志将读取以下行:

INFO [org.netbeans.ui.metrics.profiler]: Profiler Attach
INFO [org.netbeans.ui.metrics.profiler]: Profiler Settings
*** Profiler warning (Thu Oct 08 14:36:10 CEST 2015): class java/lang /UNIXProcess$$Lambda$9/1156856411, ldr = 0 not found anywhere
*** Profiler warning (Thu Oct 08 14:36:10 CEST 2015): class java/lang/invoke/LambdaForm$DMH/1131480230, ldr = 0 not found anywhere
*** Profiler warning (Thu Oct 08 14:36:10 CEST 2015): class java/lang/invoke/LambdaForm$MH/1901642836, ldr = 0 not found anywhere
*** Profiler warning (Thu Oct 08 14:36:10 CEST 2015): class java/lang
... and so on, stopping after 60 lines with similar output ...
我的应用程序有以下
JVM
参数(顺便说一句,我在其他地方读到,设置tmp Dir有问题,但是删除该参数也没有帮助)

-XX:-使用LWPsynchronization
-XX:+UseConMarkSweepGC
-Djava.rmi.server.hostname=
-杜塞时区=欧洲/柏林
-Dcom.sun.management.config.file=/global/ECAS\u TESTAS/ecastest/ECAS/conf/management.properties
-Dsun.rmi.transport.tcp.handshakeTimeout=180000
-Dsun.rmi.dgc.client.gcInterval=600000
-Dsun.rmi.dgc.server.gcInterval=600000
-详细:gc
-XX:CompileCommand=exclude,ecas/logik/elogikcomponentenVersion.doBerechnen
-XX:CICompilerCount=2
-Djava.io.tmpdir=/global/ECAS_TESTAS/ecastest/ECAS/tmp
-XX:NewSize=2100m
-XX:生存率=20
-xms1000m
-xmx1000m
-XX:MaxPermSize=120m

在这里,您可以找到一个显示问题的示例。

在通过发送sigterm(kill-3pid)生成stacktrace进行一些研究之后,我发现visualvm仍然在解析可能的类。 之后,我注意到对于这个过程,“.”在类路径中。所以我把它拿走了。现在,它的工作如预期

-XX:-UseLWPSynchronization
-XX:+UseConcMarkSweepGC
-Djava.rmi.server.hostname=<removed>
-Duser.timezone=Europe/Berlin
-Dcom.sun.management.config.file=/global/ECAS_TESTAS/ecastest/ecas/conf/management.properties
-Dsun.rmi.transport.tcp.handshakeTimeout=180000
-Dsun.rmi.dgc.client.gcInterval=600000
-Dsun.rmi.dgc.server.gcInterval=600000
-verbose:gc
-XX:CompileCommand=exclude,ecas/logik/ELogikKomponentenVersion.doBerechnen
-XX:CICompilerCount=2
-Djava.io.tmpdir=/global/ECAS_TESTAS/ecastest/ecas/tmp
-XX:NewSize=2100m
-XX:SurvivorRatio=20
-Xms10000m
-Xmx10000m
-XX:MaxPermSize=120m