问题标签 [java-mission-control]

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 回答
471 浏览

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

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

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

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

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

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

0 投票
0 回答
566 浏览

java - Jersey 2 中可能存在内存泄漏?

我最近将我的 REST API 从 Jersey 1 迁移到 Jersey 2(准确地说是 2.22.1)。该应用程序作为 Spring Boot 应用程序运行。该应用程序接收到相当大的流量。我使用 JMC(Java Mission Control)对应用程序进行了概要分析,并注意到 Annotations ( ) 消耗了大量内存getEntityAnnotations()。jms屏幕截图中的更多详细信息:

jms 截​​图

从屏幕截图中您可以看到 312 个Annotation[]对象拥有 1.55 GB 的内存(每个数组约 5 MB)。我在方法中有断点getEntityAnnotations()并观察到Annotation[]只包含 3 个注释(HTTP 方法、路径和消耗)。Annotation 对象只有几个字段。我无法解释这些字段很大的原因。调试器屏幕截图中的更多详细信息:

调试器截图

有没有人遇到过类似的问题?

此外,从 jms 屏幕截图中,我们可以观察到一半的内存来自Arrays.copyOf. 这是因为类getEntityAnnotations()中的方法OutboundMessageContext克隆了entityAnnotations数组。这个特定的实现已作为票证JERSEY-2072的一部分添加到球衣 2.5 中。

我正在使用 Java 1.8.0_60 和 spring boot 1.3.2.RELEASE。如果您需要有关应用程序或环境的任何其他详细信息,请告诉我

0 投票
2 回答
136 浏览

java - Java Mission Control 的 MBean 浏览器中的颜色是什么?

我似乎找不到关于这些颜色应该表示什么或与之相关的任何细节。

江铃MBean浏览器截图

据我所知,它们似乎与任何事物都没有关联,并且同一 MBean 接口的多个实例具有分配给相同属性的不同颜色。

0 投票
1 回答
52 浏览

java - Java App Profiling 找出罪魁祸首类

我们有一个在服务器中运行的 java web 应用程序。它由tomcat托管。我启用了飞行记录器,我可以连接到 JMC 并记录飞行...

现在,我不确定如何找到使我的应用程序变慢的类。让我明确一点,通常服务器(60 个访问者)大约占 CPU 使用率的 10%。但有时它会变得非常消耗资源并继续使用几乎 100% 的 CPU(QUADCORE RAM:16GB)。但是访客很正常,大约 60 岁……仍然是那样的行为。我必须重新启动tomcat。

现在,我想找到造成这些资源匮乏情况的罪魁祸首。

0 投票
2 回答
738 浏览

java - 自定义 JFR Java 任务控制事件

我想在 jmc 中发出自定义事件 - 我遇到了关于 jfr 自定义事件的博客文章 - http://hirt.se/blog/?p=444。然而,作者强调,该功能将来可能会被弃用。由于 jmc 不是开源的,我无法检查它。博文中的信息是否仍然是最新的?

0 投票
1 回答
1746 浏览

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

Java 的(相对)新的内置性能监视器/分析器是 Mission Control。Oracle 文档宣传它们可以在生产中使用而不会导致性能下降(不到 2%):

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

我已经使用jvisualvm(VisualVM)很多年了,但由于假定警告它确实会产生性能开销,因此从未在生产环境中使用过。

所以我问:Mission Control(及其飞行记录器)和 VisualVM 之间有什么不同,可以让 MC/FR 不影响性能?还是它们不包含 VisualVM 提供的某些特性/功能?

0 投票
1 回答
79 浏览

stack-trace - Jrockit 堆栈跟踪

我需要知道如何从 JRockit 导出堆栈跟踪或至少扩展所有跟踪。

在 Oracle JRockit Mission Control 中打开一个 jfr 文件 转到 Events 选项卡 单击 Stack Traces

有什么方法可以一次展开所有堆栈跟踪并探索日志?或者无论如何我们可以导出跟踪?

0 投票
1 回答
247 浏览

hive - 分析 Apache Hive CLI

此链接Profling Hive CLI提供了有关如何使用 Java 任务控制分析 Hive CLI 的说明。步骤是

  1. 创建一个目录来保存分析器输出:mkdir $HOME/profiles

  2. 创建一个别名,以便更容易重复: alias debug='HADOOP_CLIENT_OPTS="-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,dumponexitpath=$HOME/profiles/"'

  3. 运行一些 hadoop 客户端命令来分析例如,分析 Hive CLI 启动(以便使用 -e 'exit;')以及 TRACE 输出: debug hive --hiveconf hive.root.logger=TRACE,console -e 'exit;' 2&>&1 | tee $HOME/profiles/hive_trace.out

  4. 归档并收集步骤 1 中使用的目录 tar czvf profile_data.tgz $HOME/profiles

我的问题是

a) 在第 4 步之后,如何使用 java 任务控制来使用收集到的指标

b) 当我使用 2 和 3 中的配置设置启动 hive 时。为什么 Hive 在 java 任务控制台中不可见?

c) 有没有更好的方法来分析 Hive 的组件,例如 hive-exec、hive-metastore?

0 投票
1 回答
3161 浏览

java - 如何通过 JMX 连接到远程 Docker 容器

我有一个在远程机器上的容器中运行的 Spring Boot 应用程序,我必须使用哪些 JVM 参数通过 Java Mission Control 或 JVisual VM(通过 JMX)连接到它?

0 投票
0 回答
105 浏览

java - 在 Java Mission Control 图表中放大 Y 轴

我最近记录了一个 java 程序的 Java Flight Recorder (JFR) 转储。当我使用 Java Mission Control (JMC) 打开它时,我可以调整 X 轴但不能调整 Y(在许多图表中)。我尝试翻转我的屏幕(ctrl + alt + 箭头键)并且它起作用了;-) 但是,我需要一个更合适的方法来做到这一点。

我所需要的只是获得更大的 JFR 转储 CPU 使用率图表。有没有办法做到这一点?