问题标签 [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 投票
2 回答
659 浏览

profiling - Java Flight Recorder 中的 JVM 生命周期是否计入异常?

我在负载下的 JBoss EAP 6.1 应用服务器上运行了 Java Flight Recorder 记录 2 分钟。我启用了异常计数(Java Application => Java Exception => Enabled=true),我对报告的异常数量感到惊讶。

当我查看事件类型为“Java 应用程序/Java 异常”并按“事件线程”分组的事件 => 直方图视图时,10 个线程每个都有超过 2000 个异常。其中 3 个有超过 3000 个例外。

这是报告的 Throwable 或 Error 创建的总数:

所以我想知道所有这些异常是在我记录的 2 分钟内发生的,还是从 JVM 启动开始计算的?

0 投票
1 回答
3065 浏览

java - 如何使用 JMC 连接到远程 WildFly?

我有一个运行 WildFly 10 的 Linux 服务器。我在 Windows 机器上工作,我想分析远程应用程序服务器。我已经检查了端口 9990 是否已启用通过 http 访问http://<ip>:9990/console,方法是从 WildFly 中的 JConsole 客户端访问和通过 JMX 访问。对于后者,我将 WildFly 下载到我的机器上,转到%WILDFLY_PATH%\bin\jconsole.bat,访问service:jmx:http-remoting-jmx://<ip>:9990并使用我的凭据,它可以正常工作。现在我想通过 JMC 访问,但我无法实现。我尝试了以下方法:

  • %WILDFLY_PATH%\bin\client从to复制 jboss-client.jar 库%JDK_HOME%\lib\missioncontrol\dropins并启动 JMC。
  • 从 cmd 执行 JMC 并添加-cp:a <location of jboss-client.jar>参数,如下所示:

    这些都不起作用。

我尝试使用 VisualVM 访问并使用最后一种方法工作,但被替换jmc.exejvisualvm.exe并且我连接到外部 VM 没有任何问题。我想知道是否有任何方法可以使用 JMC 来实现这一点。

0 投票
1 回答
2651 浏览

java - Java 任务控制 - 无法启动记录器

我正在尝试使用 JMC 连接以删除服务器。启动飞行记录器时得到以下堆栈跟踪。同时我可以在 JMC 中启动 JMX 控制台,我可以看到所有数据(内存、cpu 等)。

我正在使用 controlRole 进行连接

有什么线索吗?

是因为我在启动的应用程序中缺少以下键吗?尝试连接到没有以下键运行的本地应用程序,工作正常

更新- 上面添加的 JVM 选项没有帮助

0 投票
2 回答
967 浏览

java - Java Mission Control 的基于命令行的守护进程?备择方案?

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

有没有一种方法可以在无人参与的情况下从终端会话将 Java Mission Control 作为守护程序运行,同时保留并遵守任何指定的触发规则(例如,从 XML 文件导入)?

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

谢谢!:)

0 投票
2 回答
1751 浏览

java - Java飞行记录器以编程方式解析

我正在尝试使用 JAVA 解析 JFR 转储。我关注了这个博客,http://hirt.se/blog/ ?p=446 。但这些方法现在已被弃用。是否有支持 JFR 到 JAVA 的解析器?如果不能,你能指出我是否可以从 JFR 转储中检索数据?

0 投票
2 回答
471 浏览

java - 使用 Jrockit 进行 Java JFR 转储的 JMC 解析器

我知道将 JFR 解析为 Java 可以由不受支持的解析器(如 JMC 解析器)使用来自this的 jrockit 来完成。我还想在飞行记录过程中会捕捉到很多事件。

如果我想从各种事件中检索数据值,例如事件选项卡下的堆栈跟踪、代码选项卡下的热方法、代码选项卡下的调用树等。我该如何过滤?示例图片

例如,我能够使用 jfr-flame-graph 中提到的以下代码过滤调用树。

这里,事件类型 - 方法分析示例;标识符 - (堆栈跟踪);

因此,如果我想检索堆栈跟踪/热方法/等,我需要捕获哪些事件/标识符?有这方面的文件吗?

0 投票
0 回答
369 浏览

wildfly - 使用 Java Mission Control 和 Wildfly 8.2 的连接时间

我开始从 visualvm 转移到 java 任务控制。我使用wildfly 8.2,它不适用于开箱即用的JMC,但已根据我在jboss社区https://developer.jboss.org/message/955742中的回答修改了JMC ini以包含所需的类路径#955742

我已经能够成功连接,但是连接所需的时间是荒谬的。连接到本地wildfly实例时通常等待1-10分钟(在此期间jmc经常变得无响应),这几乎是即时的,延迟仅在连接到远程实例时发生。

有谁知道是什么导致它如此缓慢,以及是否可以采取任何措施对其进行排序?

0 投票
1 回答
273 浏览

java - JMC 历史数据设置,persisted_jmx_data 文件夹命名

我正在使用 Java Mission Control 5.5,目前正在监视一些删除 JVM 应用程序。有时会重新启动应用程序,我需要重新启动 JMC,然后我当然会丢失所有历史数据。

“历史数据设置”似乎正是我需要解决的问题,但为什么 Oracle 使用某种散列值来命名受监视连接的文件夹。是否有一些配置可以命名这些,还是我应该接受 JMC 正确地不支持持久性

在此处输入图像描述

0 投票
1 回答
732 浏览

java - 通过使用 JMC 进行分析,在挂钟时间方面获得昂贵的 java 方法

我有一个 java 应用程序,它会进行很多外部 http 调用。为了识别我System.currentTimeMillis()在所有方法中使用的热方法,我观察到实际进行外部 HTTP 调用的方法是热方法,这是非常预期的。

但是当我使用Java Mission Control (JMC)分析应用程序时Hot MethodsCode选项卡列表完全不同。事实上,几乎没有任何进行外部 HTTP 调用的方法出现在 JMC 列表中。

有人可以告诉我:-

  1. Hot Methods(下)是Code section基于 CPU 时间还是挂钟时间?
  2. 有没有办法可以查看实际上花费更多挂钟时间的方法列表?
  3. 如果 JMC 不支持显示列表,Hot Methods还有其他工具可以显示这个吗?
0 投票
1 回答
931 浏览

java - JMC 不显示热方法和包

我正在尝试使用 JMC 在我的服务器程序中找到问题方法。当我在本地(在 Windows 上)运行服务器并从 JMC 启动 Flight Recorder 时 - 一切正常。JMC 在Code选项卡中正确显示数据:热方法、调用树等 但是当我尝试在远程平台(在 Linux 上)上分析服务器时,我得到了空窗口。要在平台上启动 JFR,我使用以下命令:

settings_for_jmc.jfc我使用从 JMC 导出的Oracle JDK 8u40 设置文件。它包含 execution_sample 设置

清空热方法窗口

是否可以选择记录或不记录此类数据?我错过了什么?