问题标签 [jmc]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1101 浏览

spring-boot - 使用spring boot jmx时如何返回对象值

当数据库发生更改时,我正在使用 spring boot jmx 远程执行该方法。每件事都运行良好,当我使用原始数据类型作为返回值时,我可以在 Windows 中使用 jmc.exe 监控我的应用程序。现在我需要返回对象(不是原始数据类型,而是一个类)值作为我的方法的返回值。实际上,这个对象与我的班级在同一个包中。但是当我使用 jmx 远程运行该方法时,我得到了

我的代码如下

KeyValue课程如下:

0 投票
2 回答
3625 浏览

profiling - 检查 JFR 飞行记录时,Java Mission Control (JMC) 6.0 不显示热方法

在正在运行的应用程序上使用 Java Flight Recording 功能后,Java 的 JMC 可用于检查生成的 JFR 文件以显示热方法以及每个方法所花费的 CPU 时间百分比。这对于分析应用程序和识别瓶颈非常有用。

以下是以前在旧版本 JMC 中可能实现的示例:

江铃老版本

江铃老版本

在与 Java 10 捆绑的 JMC 6.0 中似乎缺少此屏幕。这是我在 Java 10 捆绑的 JMC 6.0 中看到的示例:

江铃6.0

似乎有一个基本的方法调用计数,但没有列出百分比 CPU 时间。似乎没有添加缺失列的选项。

有没有办法显示热方法 %CPU 时间,或者这个功能是否从 JDK10 的 JMC 6.0 中删除?

0 投票
1 回答
187 浏览

java - 如何在 Java 10 附带的 Java Mission Control 中获得分配压力?

在 Java 8 附带的 Java Mission Control 版本中,有一个“分配”选项卡,指示每种分配类型对垃圾收集器的压力大小。

Java 8 的屏幕商店

看起来 Oracle 彻底改造了用户界面,因为我在 Java 10 的“内存”或“TLAB 分配”选项卡下找不到这些信息。

在哪里可以找到这些信息?

0 投票
1 回答
538 浏览

java - 无法在 JMC for Java 应用程序和 Eclipse IDE 中打开飞行记录器

当我尝试运行飞行记录器时,加载需要很长时间然后崩溃,并在一段时间后抛出异常:

连接拒绝主机:17.226.xx.yyyy;嵌套异常是:

java.net.ConnectException:操作超时(连接超时) java.lang.RuntimeException:无法连接到 [1.8.0_181] Eclipse (2092)。Make sure the JVM is running and that you are using the correct protocol in the Service URL (service:jmx:rmi://127.0.0.1/stub/rO0ABXN9AAAAAQAlamF2YXgubWFuYWdlbWVudC5yZW1vdGUucm1pLlJNSVNlcnZlcnhyABdqYXZhLmxhbmcucmVmbGVjdC5Qcm94eeEn2iDMEEPLAgABTAABaHQAJUxqYXZhL2xhbmcvcmVmbGVjdC9JbnZvY2F0aW9uSGFuZGxlcjt4cHNyAC1qYXZhLnJtaS5zZXJ2ZXIuUmVtb3RlT2JqZWN0SW52b2NhdGlvbkhhbmRsZXIAAAAAAAAAAgIAAHhyABxqYXZhLnJtaS5zZXJ2ZXIuUmVtb3RlT2JqZWN002G0kQxhMx4DAAB4cHc4AAtVbmljYXN0UmVmMgAADTE3LjIyNi4yMC4yMjQAAMF44tzu6CRJNeORCVrBAAABZN4+pbCAAQB4).

我尝试运行不同版本的 jdks:从 java 7 到 java 8:

另外,卸载了eclipse并重新安装了STS。问题仍然存在。看起来问题是 jmc 中的某个地方无法连接到 eclipse 和/或 tomcat jvm。

任何解决过类似问题的人请帮助解决这个问题。谢谢。

更新:我可以通过使用命令终端记录航班

jcmd $pid JFR.start name=MyRecording 设置=默认持续时间=60s

jcmd $pid JFR.dump name=MyRecording 文件名=/tmp/test_TIMESTAMP.jfr

我仍然不知道为什么它不会从 gui 运行。

0 投票
1 回答
3617 浏览

java - 使用 JCMD 的 Java 线程转储

我在 Ubuntu Linux 机器上使用 Java1.8。使用以下命令创建了一个线程转储:

将文件复制到本地MAC机器并双击在JMC中打开。它无法打开。如何打开它?

我试图在安装了内存分析器的 STS 中打开相同的文件,它不能识别 jfr 文件。

1)上述方法有什么问题?

2) 分析线程和堆转储的最佳工具是什么?

3) 堆或线程转储大小是否取决于 RAM 大小?我们有 64 GB ram 系统,分配 40 GB 给一个应用服务器。这有什么问题吗?

0 投票
2 回答
420 浏览

java - Java Flight Recorder 未报告所有 GC 事件

我们有性能构建,它在打开以下标志的情况下生成我们的应用程序:

自定义设置是通过 Flight Recorder UI 创建的,所有设置均已打开。我想与我的问题相关的重要部分如下:

飞行记录是在构建停止时生成的。但是,我不是 100% 确信它会记录所有内容。首先,在 Memory -> Garbage Collection 页面中只报告了少量 GC。我知道这一点,因为我们还打开了将 GC 写入文件的标志。GC 比飞行记录器中报告的要多得多。更重要的是,我担心内存分配结果没有记录准确的信息(就像 GC 事件一样)。在这种情况下,我们可能会花费大量精力来调整错误的区域。

我错过了这里的任何设置吗?

先感谢您!

0 投票
1 回答
997 浏览

java - 不支持 Java Flight Recorder 文件格式

我正在尝试使用 Java Flight Recorder (JFR) 分析我的 Java 代码的运行情况。为此,我使用终端命令:

java -XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=duration=500s,filename=myrecording.jfr -jar runnableJARFile.jar

这会运行我的程序并似乎创建了 .jfr 录制文件,但是当我尝试在 Java Mission Control 中打开它时,出现错误:

'Loading events from myrecording.jfr' has encountered a problem.

The file format of myrecording.jfr is not supported. Try with a more recent version of Mission Control.

但是,我已经检查并且我正在运行 JMC 6.0.0(似乎是最新版本)以及 JDK 11.0.0(似乎也是最新版本)。当我检查更新时,两者都显示为最新的。

任何想法如何让 JFR 文件在 JMC 中打开?

注意:我使用 Eclipse 作为 IDE,但似乎无法让飞行记录与程序同时开始;这就是我使用终端的原因。(运行 OS X El Capitan)

0 投票
0 回答
618 浏览

java - Eclipse 4.9.0 和 Oracle JDK 11 中的 Java Mission Control

我想通过 Eclipse 插件(https://marketplace.eclipse.org/content/java-mission-control)使用 Java Mission Control

当我想开始飞行记录时,我收到以下错误:

当我运行 Java Mission Control 的独立版本时,它工作正常,但是如果我可以从 Eclipse 调用 jmc,我的任务会更容易。

我怀疑这与 Oracle JDK 11 不再包含 Java Mission Control 的事实有关,因为它现在是一个独立的包。

(我使用的是 Ubuntu 18.04)

0 投票
1 回答
328 浏览

java - 如何为 JMX 和 Java 任务控制导入 lib?

我有两个问题是:

  1. 如何为 jmx 导入库(我无法导入)?

  2. 我们可以使用代码访问 Java Mission Control 吗?(就像我可以看到我的问题的可视化,但我想使用代码将它提取到我的 IDE 中),这可能吗?

0 投票
1 回答
1168 浏览

java - 无法为 java 版本 jdk1.8.0_191.jdk 打开 jmc

我有一个mac系统。每当我尝试打开 java JMC 时,它都不会打开。我只能看到对话框的最大化、最小化和关闭按钮。我使用的jdk版本是jdk1.8.0_191.jdk。