标签: jmc

新TLAB中的分配与TLAB外的分配

JDK中的Java Mission Control工具提供有关新TLAB中的对象分配和TLAB外部分配的统计信息.(它在Memory/Allocations下).这些统计数据有什么意义,哪些对应用程序的性能有好处?如果在TLAB之外分配一些对象,我是否应该担心?如果是,我该怎么办呢?

java performance garbage-collection jvm jmc

43
推荐指数
1
解决办法
9923
查看次数

JDK 1.8.0_161中的Java Mission Control在Mac OS X上启动时冻结

我正在尝试按照Mac OS X High Sierra上的JDK 1.8.0_161(2013.2,2018年1月的补充更新)中的提供启动Java Mission Control,并且JMC应用程序被冻结,即我无法浏览JVM浏览器面板.

因为我安装了其他以前的JDK,所以我已经成功检查了以下版本的JMC:

  • 1.8.0_121
  • 1.8.0_144
  • 1.8.0_151

所以这个问题非常特定于JDK 1.8.0_161.

(要查看JDK,请运行命令/usr/libexec/java_home -V)

(运行前JMC,即/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home/bin/jmc)

作为一个侧面验证,我已成功在Windows 10上运行JDK 1.8.0_161的JMC.

所以你遇到同样的问题吗?

是否有一些设置可以调整以使其正常工作?(例如,这是与Mac OS X Gatekeeper有关的问题!?)

以及如何正确地向Oracle报告...我没有成功搜索他们的bug数据库,当我尝试提交错误时,我无法确定哪个是正确的子类别(参见https://bugreport.java.com /submit_intro.do),因为JMC没有在TOOLS部分中列出......有什么建议!

java macos jmc

24
推荐指数
3
解决办法
7594
查看次数

如何在Ubuntu中将JMC(Java Mission Control)连接到远程JVM?

我可以在同一系统上连接到JMC到JVM.但是,我想监视远程服务器.如何将本地JMC连接到远程JVM?

java ubuntu jmc

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

OpenJDK JDK11没有JMC-Java Mission Controller- FlightRecorder

我希望JMC能够与OpenJDK,JDK11二进制文件一起使用,因为它已经由Oracle 11从Java 11开源,但无法在Oracle文件夹中找到Oracle和AdoptOpenJDK Java-11二进制文件.我也试过这个https://jdk.java.net/jmc/,因为有些文章说它是单独发布的.有谁知道如何获得OpenJDK-11的JMC.

java jmc java-11

16
推荐指数
3
解决办法
7048
查看次数

在哪里可以下载Java Mission Control(7)(OpenJDK11或更高版本)?

Java Mission Control(JMC)宣布将从Oracle从JDK 11开始移交给开源社区。但是,JMC没有与OpenJDK11版本捆绑在一起。

我读到JMC将在此处单独下载提供,但没有要下载的版本。Oracle也不再在其页面上提供有关JMC的下载。而且我再也无法在Oracle JDK中找到它。

该源镜像在GitHub上,但也没有要下载的构建版本。

在哪里可以下载Java Mission Control的最新开源许可版本?

java jmc jfr

15
推荐指数
1
解决办法
3427
查看次数

JDK中的Java Mission Control:它可以免费使用什么?

自Java 7u40以来,Java Mission Control已包含在Java JDK中.

从JMC文档中可以清楚地看出这是一个商业功能,但JDK文档没有明确说明何时可以免费使用JMC,何时需要Java SE Advanced许可证.这可能是因为甲骨文希望使用它并因此使其免费提供,或者因为它们通常采用"免费开发,支付生产"政策,并且只是想引诱开发人员使用新的昂贵玩具.

谁找到了确切的条款?


编辑:从Java 11开始,jfc是开源OpenJDK的一部分,而不仅仅是Oracle支持的Oracle Java 11.

java oracle jmc

12
推荐指数
0
解决办法
2375
查看次数

Java Mission Control堆配置文件

我正在使用Java 7u40 附带的 Java Mission Control Profiler,我无法进行配置文件分配和收集对象统计信息.无论我做什么,我都无法在Memory - > Object Statistics窗口中看到任何统计信息.

以下命令启动集合:

jcmd <pid> JFR.start duration=60s settings=profile filename=alloc-prof.jfr
Run Code Online (Sandbox Code Playgroud)

Java的Mission Control文档中没有提到任何具体的选项,以使物体轮廓.我试图创建自己的个人资料并设置:

  <flag name="heap-statistics-enabled" label="Heap Statistics">true</flag>
  <flag name="allocation-profiling-enabled" label="Allocation Profiling">true</flag>
Run Code Online (Sandbox Code Playgroud)

但仍然没有收集对象统计信息.

java heap garbage-collection jmc jfr

9
推荐指数
1
解决办法
9419
查看次数

使用Java Flight Recorder和Java Mission Control监视锁

我想做的事

我有一个Java程序,我正在努力改进.我怀疑代码中的同步块会损害性能,但我想在触摸代码之前确保这是我的问题.

我是怎么回事的

为了检查同步块是否确实存在问题,我在带有Flight Recorder的测试服务器上记录了我的程序的执行情况,jfr在桌面上下载了创建的文件并使用Java Mission Control打开它.但是Lock Instances页面中Java Application没有显示任何内容.我得到的唯一线索是结果视图中的一条消息:

Java阻止规则要求事件可从以下事件类型中获得:com.oracle.jdk.JavaMonitorEnter

因此,我假设必须有一些选项与飞行记录仪一起激活,但到目前为止我无法找到它.

我的问题

如何启用com.oracle.jdk.JavaMonitorEnterJava Flight Recorder记录的类型的事件?
或者我错过了其他的东西,并且有一种更好的方法来计算在Java程序中对同步块进行了多少阻塞?

我的环境

我使用的是Oracle JDK 1.8.0_191版.我在桌面上使用的Java Mission Control版本是6.0.0.最后,我用来记录程序执行的命令如下:

java -XX:+UnlockCommercialFeatures -XX:+UnlockDiagnosticVMOptions -XX:+DebugNonSafepoints -XX:+FlightRecorder -XX:StartFlightRecording=settings=profile,dumponexit=true,filename=test.jfr -classpath lib/*:src/ <my program with its arguments>
Run Code Online (Sandbox Code Playgroud)

我还应该补充说,使用Java Mission Control直接连接到服务器不是一个选项(或者是吗?),因为我使用ssh反弹实际连接到它...

java java-8 jmc java-mission-control jfr

9
推荐指数
1
解决办法
317
查看次数

用于Java Mission Control的基于命令行的守护程序?备择方案?

我被要求调查Oracle Java Mission Control,以便在某些条件下监视服务器端Java应用程序并采取措施(例如,发出和记录的警报,保存飞行记录).Java Mission Control的触发系统,您指定条件和操作,满足我们的需求,但它似乎依赖于正在运行的GUI应用程序("Oracle Java Mission Control"),这意味着触发器不是受监视的JMX服务器的责任.是这样的吗?有很多服务器通常通过终端访问...

有没有一种方法可以从终端会话中无人值守地运行Java Mission Control作为守护进程,同时保留并遵守任何指定的触发器规则(例如,从XML文件导入)?

如果没有,是否存在可以填补空白的类似触发系统的竞争工具?

谢谢!:)

java monitoring daemon jmx jmc

8
推荐指数
1
解决办法
569
查看次数

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

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

以下是旧版JMC中以前可能的示例:

较旧的JMC版本

较旧的JMC版本

与Java 10捆绑在一起的JMC 6.0中似乎缺少此屏幕.以下是我在Java 10捆绑的JMC 6.0中看到的示例:

JMC 6.0

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

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

profiling jmc java-10 jfr

8
推荐指数
1
解决办法
1189
查看次数