标签: visualvm

VisualVM导致崩溃:"EXCEPTION_ACCESS_VIOLATION"

我正在尝试使用VisualVM来配置我的程序,但它总是崩溃,通常会出现相同的错误消息:

Waiting...
Profiler Agent: Waiting for connection on port 5140 (Protocol version: 15)
Profiler Agent: Established connection with the tool
Profiler Agent: Local accelerated session

Starting test 0
#
# A fatal error has been detected by the Java Runtime Environment:
#
#  EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x00000000c12e9d20, pid=4808, tid=11472
#
# JRE version: Java(TM) SE Runtime Environment (8.0_31-b13) (build 1.8.0_31-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.31-b07 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C  0x00000000c12e9d20 …
Run Code Online (Sandbox Code Playgroud)

visualvm java-7

6
推荐指数
0
解决办法
1294
查看次数

用于远程 jmx 连接的 Visualvm 中未出现 Profiler 选项卡

我正在尝试分析一个远程 tomcat appln,它是我的登台环境。但我无法获得探查器选项卡。尝试谷歌搜索,但我无法在这里找到确切的问题。我的远程和本地 jdk 版本都相同。两者都是 java 8。我使用的是visualvm 1.3.8

java profiler profiling visualvm jvisualvm

6
推荐指数
1
解决办法
2511
查看次数

VisualVM 显示“此 JVM 不支持”

我正在尝试使用 VisualVM 1.4 分析远程 JVM。我在本地运行 macOS High Sierra 10.13.6,具有以下 OpenJDK 版本:

java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (AdoptOpenJDK)(build 1.8.0_181-b13)
OpenJDK 64-Bit Server VM (AdoptOpenJDK)(build 25.181-b13, mixed mode)
Run Code Online (Sandbox Code Playgroud)

服务器运行带有以下 OpenJDK 的 Debian Stretch:

java -version
openjdk version "1.8.0_181"
OpenJDK Runtime Environment (build 1.8.0_181-8u181-b13-2~deb9u1-b13)
OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)
Run Code Online (Sandbox Code Playgroud)

当我在本地监视 JVM 进程时,我会看到所有这些选项卡,并且分析工作正常。

在此输入图像描述

但是,如果我远程执行此操作,我会看到如下内容:

在此输入图像描述

请注意显示“此 JVM 不支持”的 CPU 窗口和减少的选项卡,不包括“Profiler”。然而,正如你所看到的,我确实看到了一些数据。

我正在通过 进行连接jstatd。在服务器上,按照本文,我正在运行

jstatd -J-Djava.security.policy=/home/brandwatch/jstatd.all.policy -J-Djava.rmi.server.hostname=10.2.156.160 -Djava.rmi.server.logCalltrue
Run Code Online (Sandbox Code Playgroud)

像这样的答案表明这可能是由于不同的 JVM 版本造成的,但是,我的似乎是相同的,尽管其中一个运行在 MacOS 上,另一个运行在 Debian …

java profiling visualvm jstatd

6
推荐指数
1
解决办法
6373
查看次数

如何连接到 WSL2 内运行的 JMX 服务器

我正在使用以下参数运行 Java 应用程序,以启用 JMX 服务器的远程连接:

-Dcom.sun.management.jmxremote=true
-Dcom.sun.management.jmxremote.port=9998
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.ssl=false
Run Code Online (Sandbox Code Playgroud)

我可以通过 VisualVM 成功连接到该 JMX 服务器,方法是将新的 JMX 连接添加到地址:<HOSTNAME>:9998

但是当我在 Windows Subsystem for Linux 2 (WSL2) 中运行该应用程序时,Visual VM 无法连接到localhost:9998连接失败

据我所知,应用程序在 WSL2 中侦听的每个端口也在主机(Windows 本身)中打开,我可以使用Win+R -> cmd -> telnet localhost 9998(连接成功)进行检查。另外,我正在 WSL2 中运行一个 nginx 实例,我可以使用localhost.

java jmx visualvm windows-subsystem-for-linux wsl-2

6
推荐指数
2
解决办法
3585
查看次数

类共享警告不允许我使用visualVM在本地(Windows)进行配置

当我从Eclipse Helios启动我的Java应用程序时,我在visualVM上的本地应用程序列表中看到它.但是,我转到Profiler选项卡,我无法通过CPU或内存条件进行配置.

我收到以下消息:"警告!为此JVM启用了类共享.这可能会在分析应用程序时导致问题并最终导致崩溃.请参阅VisualVM故障排除指南以获取更多信息和解决问题的步骤:https:/ /visualvm.dev.java.net/troubleshooting.html#xshare."

在我的应用程序的eclipse启动器中,我将-Xshare:off添加到VM_Arguments但没有成功.使用的JDK:jdk 1.6.0_20 Enviornment:Windows 7,64bit

有什么建议吗?谢谢

eclipse windows visualvm jdk1.6 jvisualvm

5
推荐指数
1
解决办法
1084
查看次数

maven/visualvm:我如何使用visualvm来描述正在运行的万无一失的过程?

我可以附加到万无一失的过程中,但是试图对其进行分析以示抽样:

CPU sampling:
Not available. Failed to create JMX connection to target application. Use 'Add JMX Connection' action to attach to the application.

Memory sampling:
Not available. Failed to read objects in target application. Check the logfile for details (use Help | About | Logfile).
Run Code Online (Sandbox Code Playgroud)

并尝试开始分析显示一个空的错误消息框

java visualvm jvisualvm maven

5
推荐指数
1
解决办法
5754
查看次数

VisualVM和Java VisualVM有什么区别?

我一直在使用"Java VisualVM",这似乎是Oracle的品牌,而且丑陋的页面声称我运行的是verison 1.6.0_51.

特别是有一件事让我失望,我一直在运行一个过时的或某种不受欢迎的版本,这个非常流行的开发工具是更新可用的插件失败,有:

由于java.security.cert.CertificateException,无法连接到Java VisualVM插件中心:找不到与visualvm.dev.java.net匹配的主题备用DNS名称.

确实会https://visualvm.dev.java.net给出可怕的警告.

所以我去http://visualvm.dev.java.net(没有S)并下载"当前"版本,即1.3.6.现在它被称为"Visual VM",并且在GNU GPL下获得许可,并且没有Oracle品牌.它显然更好 - 关于页面设计得更好,它在打开时自动更新了一些组件,并且已经填充了可用的插件,我可以检查最新而没有错误.

这个工具的这两个版本是什么?我是如何以某种方式结束腐烂的?

java visualvm

5
推荐指数
1
解决办法
761
查看次数

如何确定在VisualVM堆转储中实例化对象的位置

我的程序中有一个错误,它产生了很多String实例(根据Heap中7000+ VisualVM).我试图找出哪个类负责这个,所以我可以理解它为什么会发生.

以下是堆转储的示例String:

在此输入图像描述

我如何确定哪个类负责生成每个String?我正在和大约40个班级一起工作,所以我希望能够在可能的情况下确定罪魁祸首课程VisualVM.

java heap garbage-collection visualvm heap-memory

5
推荐指数
1
解决办法
4954
查看次数

如何使用VisualVM打开大堆转储?

我使用VisualVM创建了一个堆转储.生成的.hprof文件大约为6GB.

当我尝试在VisualVM中加载文件时,它会被卡在50%.卡住时,我正在使用的计算机上似乎没有消耗额外的资源.CPU很安静,只有大约一半的可用内存在使用,并且没有报告任何IO.

jvisualvm:坚持"加载堆转储"屏幕问一个类似的问题,但唯一的答案建议.hprof通过VisualVM 创建文件(我已经做过).

是否需要使用任何特殊设置来打开此大小的堆转储?

java visualvm

5
推荐指数
1
解决办法
8785
查看次数

VisualVM,用于分析在Tomcat上运行的应用程序

我在本地运行的apache tomcat 7和作为.war文件部署到此服务器的Web应用程序.我正在尝试使用visualvm来分析应用程序,但到目前为止我只能分析tomcat本身.

我能够在界面中看到关于tomcat的所有内容,并且绝对没有问题.我能够看到独立的tomcat函数,这对我来说毫无意义.

我想看到的是我部署的Web应用程序的功能的执行时间,换句话说就是我自己的代码.但我无法做到这一点?有没有人设法做这个分析?我是否需要使用已部署的应用程序设置JMX连接?下面你可以找到我能够描述tomcat功能的屏幕.

我的VisualVM屏幕,我能够配置tomcat

java tomcat visualvm war

5
推荐指数
1
解决办法
4770
查看次数