标签: jvisualvm

是什么启动了JVM线程?

(如果我错了,请纠正我)

我明白当你通过发出java命令运行java程序时,

java MyProg
Run Code Online (Sandbox Code Playgroud)

该程序将运行到一个新的JVM上.

  • 是什么将程序加载到新的JVM中?它是JRE产生一个新线程吗?

  • 如果每个程序都在自己的JVM中运行,那么它们是否可以相互通信?

  • 我之前问了一个关于如何使用JMX向本地运行的java程序发送请求的问题.我发现如果在本地发出JMX命令,我不需要端口号.答案是客户端应用程序(例如jconsole,jvisualvm,jprobe等)搜索在机器上运行的Java应用程序.这很好,但考虑到客户端应用程序将在与要监视或通信的应用程序不同的JVM中运行,它们如何在没有端口号的情况下相互连接(因为它们不在同一个JVM上运行)?

  • 如果两个程序正在运行,通常会有2个JVM.JVM是否在同一个JRE流程中运行?并且这也不意味着两个JVM应该能够通信吗?

谢谢

java jvm jconsole jvisualvm

3
推荐指数
1
解决办法
636
查看次数

在jvisualvm中细分方法执行时间

我正在使用jvisualvm分析Web应用程序.我可以看到各种方法需要多长时间,例如methodA需要5秒......但是,我看不到双击此方法以查看5秒的位置.我可以"深入研究".

我如何在jvisualvm中实现这一目标?

谢谢.

performance profiling jvisualvm

3
推荐指数
1
解决办法
645
查看次数

JConsole没有连接到java进程

当我开始JConsole它标识我的java进程(本地)但它无法连接到它.

Connection Failed: Retry?
The connection to 17424 did not succeed.
Would you like to try again? 
Run Code Online (Sandbox Code Playgroud)

再次选择connect会产生相同的错误(17424是java进程的pid).另一方面 jvisualvm工作得很好.在jvisualvm中,我看到以下细节

PID: 17424
Host: localhost
Main class: Conatainer

JVM: Java HotSpot(TM) 64-Bit Server VM (23.6-b04, mixed mode)
Java: version 1.7.0_11, vendor Oracle Corporation
Java Home: /home/aniket/jdk1.7.0_11/jre
JVM Flags: <none> 
Run Code Online (Sandbox Code Playgroud)

有没有人遇到过这种情况?这是一个错误吗?有工作吗?

java jconsole jvisualvm

3
推荐指数
1
解决办法
3583
查看次数

Java VisualVM 缺少的功能

我有一个 Java 应用程序,我想使用 Java VisualVM (jvisualvm )。

但是,在 VisualVM 窗口中可以看到很少的数据。另外,我不能进行堆转储。

这是它的屏幕截图,其中包含我编写的另一个测试应用程序:

截屏

我可以监控内存使用情况、加载的类和线程。堆转储、执行 GC 以及采样被禁用。

我曾尝试添加-Dcom.sun.management.jxmremote到虚拟机的参数,如描述在这里。这显示在“安装详细信息”窗口中。但是,它不会出现在 Java 进程参数中。(应该是?)

截图

我还尝试单击我的测试应用程序中的按钮,直到OutOfMemoryError发生。没有堆转储;这并不奇怪,因为 OOME 上的堆转储被禁用。

我能做些什么来解决这个问题?

java eclipse jvisualvm heap-dump

3
推荐指数
1
解决办法
4626
查看次数

将VisualVM信息另存为数据

使用VisaulVM,我想以数据形式获取此数据,而无需应用图像处理算法...我该怎么做?我认为这不会是快照。

在此处输入图片说明

我不确定VisualVM和jVisualVM的差异如何,命名肯定会造成混淆,但是我正在运行Oracle提供的(Version 1.7.0_80 (Build 150109)

谢谢!

visualvm jvisualvm

3
推荐指数
2
解决办法
2837
查看次数

JVisualVM 线程调查器中的 Keep-Alive-Timer 是什么意思?

在此处输入图片说明

这些 Keep-Alive-Timer 线程在左侧有白色标签,下面没有描述白色标签的含义。我想知道这些 Keep-Alive-Timer 线程是如何创建的以及为什么。

在此处输入图片说明

实际上,我正在使用Timer在我的程序中检查心跳消息。每当心跳到来时,我都会安排一个新的TimerTask,延迟 6 秒。如果没有心跳,TimerTask则触发并发送警报。

java multithreading timer jvisualvm

3
推荐指数
1
解决办法
2761
查看次数

Java Mission Control和Flight Recorder是否提供与VisualVM相同的功能?

用于Java的(相对)新的内置性能监视器/分析器是Mission Control。在甲骨文的文档做广告,他们可以在生产中使用,而不会产生性能开销(不到2%):

工具链[Mission Control + Flight Recorder]使开发人员和管理员可以从本地运行或部署在生产环境中的Java应用程序收集和分析数据。

我已经使用jvisualvm(VisualVM)多年了,但是由于在生产环境中可能带来性能开销,所以人们从来没有使用过(VisualVM)。

所以我问:任务控制(及其飞行记录器)与VisualVM之间的区别是什么,它使MC / FR不会妨碍性能?还是它们不包括VisualVM提供的某些功能?

java performance apm jvisualvm java-mission-control

3
推荐指数
1
解决办法
567
查看次数

JMX 连接失败,并显示“握手失败...预期的 JDWP-Handshake”

我正在尝试将 VisualVM 连接到远程 JMX。IntelliJ 可以轻松连接,但 VisualVM 失败并在日志输出中显示以下内容:

Listening for transport dt_socket at address: 5005
Debugger failed to attach: recv failed during handshake: Resource temporarily unavailable
Debugger failed to attach: handshake failed - received >< - expected >JDWP-Handshake<
Run Code Online (Sandbox Code Playgroud)

这是我在运行时传递的 JVM 属性:

-XX:MaxPermSize=50g -XX:+HeapDumpOnOutOfMemoryError -Xmx50g -Dcom.sun.management.jmxremote -Djava.rmi.server.hostname=100.100.100.100 -Dcom.sun.management.jmxremote.port=5006 -Dcom.sun.management.jmxremote.local.only=false -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
Run Code Online (Sandbox Code Playgroud)

使用 VisualVM 1.3.9。不知道为什么它会失败,为什么 IntelliJ 会成功。我试过禁用 SSL 身份验证等。

java jmx remote-debugging jvisualvm

3
推荐指数
1
解决办法
2万
查看次数

visualvm-无法检测到本地Java应用程序

我试图在Windows 8计算机上运行visualvm,但出现错误“无法检测到本地Java应用程序”。我尝试按照以下步骤来解决“ https://visualvm.github.io/troubleshooting.html ”中建议的问题。我对我的“ AppData \ Local \ Temp \ hsperfdata_Dhasan”文件夹具有完全权限。但是,无论何时我启动visualvm,我仍然遇到相同的错误。请帮助我解决此问题。

谢谢。

java visualvm jvisualvm

3
推荐指数
1
解决办法
2889
查看次数

无法在 Intellij 中启动 VisualVM 启动器插件

我在使用 Intellij 的 VisualVM Launcher 插件启动我的应用程序时遇到问题。我在启动时收到的消息显示如下:

Error running 'Desktop': appId=81286153463824, jdkHome=null, visualVmHome=/Applications/VisualVM.app
Run Code Online (Sandbox Code Playgroud)

我发现这些帖子与此问题相关:herehere。不幸的是,问题是我找不到第一篇文章中提到的脚本,也不知道如何创建后一篇文章中提到的堆栈跟踪。

我对来自 eclipse 的 Intellij 很陌生,我不知道哪些细节是相关的。下面你会发现一些简单的事实:

IntelliJ IDEA 2018.2.1 (Community Edition)
Build #IC-182.3911.36, built on August 6, 2018
JRE: 1.8.0_152-release-1248-b8 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
macOS 10.13.6
Run Code Online (Sandbox Code Playgroud)

visualvm intellij-idea jvisualvm

3
推荐指数
1
解决办法
6156
查看次数