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

java-mission-control - 连接到在不同用户下运行的远程 Linux JVM

我在 RHEL7 远程 VM 上运行 Apache NiFi 1.2.0。以下是正在运行的 JVM 列表:

在我的本地 Windows 7 机器上,我有 jdk1.8.0_121,我正在尝试将 Java Mission Control 实用程序连接到“NiFi”JVM。

一些事实:

  1. 我希望监控的远程 RHEL JVM 使用用户“nifi”运行
  2. 由于我是“sudoer”,我使用自己的用户名“ojoqcu”通过 SSH(通过 Putty)连接到远程 VM,然后使用“sudo su - , su nifi”或简单的“sudo su nifi”。然后,我在不提供密码的情况下成为“nifi”用户
  3. 现在,可能需要一个 JMX URL 来将 jmc 连接到远程 VM,但是我应该使用什么端口号?是否有任何其他必须在远程 VM 上启动的进程?

连接_设置

0 投票
3 回答
246 浏览

java - Java任务控制监听器?

我目前有一些想要分析的 Java 代码。在阅读了一些关于它的有前途的东西后,我决定使用 Java Mission Control。但是,到目前为止,我咨询过的每个资源都告诉我首先启动我想要分析的进程,然后才在任务控制已经运行后“附加”或分析代码(例如来自 oracle 的这个视频:https ://youtu.be/WMEpRUgp9Y4?t=14m56s)。

有没有办法从一开始就进行分析?谢谢

0 投票
2 回答
252 浏览

java - Java Mission Control 说“很少有分析样本”,为什么,我的其他选择是什么?

我正在使用 Java Mission Control 分析 Java 应用程序,它在飞行记录的主页上说“即使 CPU 负载很高,该记录也包含很少的分析样本。因此分析数据可能不相关。”

好像说的是实话。我要求它每 10 毫秒采样 3 分钟,这应该是 18000 个样本,但我只看到 996 个样本。

它继续解释“因此分析数据可能不相关。这可能是因为应用程序正在运行大量 JNI 代码,或者 JVM 在 GC、类加载、JIT 编译等方面花费了大量时间。”

嗯,我没有任何本机方法,它不应该在我记录的阶段加载类或执行任何 JIT(以及代码的重复数字处理部分。)它看起来不像花费过多的垃圾收集时间。

我们曾经使用 hprof 来分析这个产品,并取得了很大的成功。Hprof 极大地帮助确定了我们依赖主线程执行的位置,因此我们可以将热点并行化为多个线程。但是该工具在 Java 9 中已停止使用,因此我们将继续使用 Java Mission Control。它有很多用途,但如果它无法识别 VM 线程在随机采样时间所在的行号,它就不是很有用。还有其他工具可以使用吗?或者,有没有办法从 Java Mission Control 中进一步调试?Java 9 中似乎也不再包含 JVisualVM。

0 投票
2 回答
328 浏览

java - Java Flight Control - 保留最后 N 分钟记录数据

如果可以在连续记录下仅保留最后 N 分钟的数据,有人可以让我知道通过 Java Mission Control 启动的 Java Flight Control 吗?

我已经完成了这个讨论,但我无法找到我必须在哪里传递disk=true参数。我一直在使用的选项如下所示。

在此处输入图像描述

环境:-

  • 爪哇 8
  • Mac OS X
  • Java 任务控制 5.5.1 (M5.5.1-15, 172852)
0 投票
0 回答
252 浏览

java - java serviceability agent vs jmc vs visualvm

java visualvm、java任务控制和java服务代理工具有什么区别?

我从高层次上知道 Visualvm 和 jmc 做了类似的工作,但它们在选择要分析的数据的方式上有所不同,但在可服务性代理方面根本没有太多?

提前致谢!

0 投票
1 回答
305 浏览

java - Java Flight Recorder 结果中的垃圾收集统计信息

我们在 CI 中有一项工作,它启动我们的 Java 应用程序并运行一些测试(测试充当应用程序的客户端)。该应用程序以我认为正确的 JVM 选项开始,以进行连续飞行记录:

它可以很好地生成 JFR 文件,我可以在 Java Mission Control 中打开它。除了上面的 JVM 选项,我们还可以选择启用 GC 日志记录:

这也很好。生成 gc 日志和安全点日志文件。但是,我注意到任务控制中的 GC 统计信息并未列出在应用程序生命周期内发生的所有 GC。例如,如果我使用 GCViewer ( https://github.com/chewiebug/GCViewer ) 打开 gc 日志,则会发生更多的 GC。

我在这里错过了什么吗?还是任务控制只打印“重要” gc ?

提前致谢!

0 投票
1 回答
120 浏览

java - 使用 Java GC 日志功能而不是 JMC 的用例有哪些?

Java Mission Control最近开源了。它是一个成熟的分析器,可以提供有关正在运行的应用程序的大量信息。它不仅可以显示特定应用程序正在使用多少内存或 Java GC 启动的频率,还可以提供有关网络利用率、CPU 利用率等的信息。

当在日常应用程序监控中使用 Java GC 日志记录功能更可取时,用例会是什么?

0 投票
1 回答
108 浏览

java - 如何在 Java Mission Control 的内存视图中解释 lambda

我正在使用 Java Mission Control 分析 Java 8 应用程序的一部分。我正在使用 Java Mission Control 6.0.0(Java 9 和 10 附带的版本)。在内存视图中,在 Java 应用程序下,我看到以下内容:

Java Mission Control 内存视图截图

87M 似乎对于 lambdas 来说是很多内存,尤其是在其他地方使用的内存的上下文中。我应该如何解释并优化 lambda 的内存使用?

0 投票
1 回答
735 浏览

java - JDK 8 的 Java 飞行记录

我刚刚阅读了 Java Flight Recording 并发现它是一个商业功能。由于它是由-XX:+UnlockCommercialFeatures -XX:+FlightRecorder. 所以问题是我是否可以在我们的生产环境中使用它进行分析。我用

或者这样做是违法的?

0 投票
1 回答
873 浏览

java - 使用 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 Mission Control 连接到服务器不是一个选项(或者是吗?),因为我正在使用 ssh 反弹来实际连接到它......