问题标签 [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 回答
1067 浏览

java - Java Flight Recorder:它需要 JMX 读写访问权限还是只读权限?

JMX 允许您在一个名为的文件中为用户设置访问权限jmxremote.access(您可以在 中找到模板<JAVA INSTALL>/jre/lib/management)。在那里你可以为每个用户指定如果用户有..

或者..

...权限。

现在,我想为 JXM 用户激活此访问控制功能,我通过 JMC 使用它来访问飞行记录器数据——按照默认安全标准,为该用户提供尽可能少的权限。

--> 给用户readonly权限就足够了,还是Java Flight Recorder还需要在某处写东西?

0 投票
1 回答
732 浏览

java - 如何在运行的 JVM 上启用 JMX/管理代理?

我正在尝试从当前运行的 JVM 获取 JMX 指标。我希望能够在运行应用程序时无需在 CLI 上启用它就可以做到这一点。我正在尝试编写一个通用的 CLI 实用程序,但 JConsole 和 JMC 缺少一些功能。JConsole 和 JMC 都这样做。然而,似乎没有任何关于他们如何做到这一点的文档。

0 投票
4 回答
35330 浏览

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

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

0 投票
1 回答
63 浏览

aspectj - 将 oracle JMC 与其他 javaagent 一起使用,例如 aspectj

我正在尝试使用 JDK 捆绑的 JMC 飞行记录器来分析我的应用程序

但是,当我在 JVM 参数下应用以启用记录器时:

我所有的 aop 建议似乎都不起作用,看起来代理没有生效:

我想知道是否-XX:+FlightRecorder有自己的类乐器/增强功能,与aspectj weaver等其他人有冲突?

0 投票
2 回答
1348 浏览

java - java飞行记录器如何转储异常,FlightRecordingDumpOnUnhandledException

java 版本1.7.0_79 Java(TM) SE Runtime Environment (build 1.7.0_79-b15) Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, 混合模式)

我使用的参数

错误

使用的正确选项是什么?转储异常记录

0 投票
1 回答
880 浏览

java - Java Flight Recoder cmd args 以启用对象统计信息的收集

我正在使用 jvm 的命令行参数列表

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:StartFlightRecording=delay=2m,duration=30m,filename=member.jfr,settings=profile

开始飞行记录。

但是,当我打开 .jfr 录音时。我看到内存视图的对象统计选项卡,未填充

例外选项卡也未填充。

如何通过命令行选项启用对象静态集合。

这不是一个生产系统,所以我不担心额外的开销

我对尽可能多的细节感兴趣。那么什么是最好的命令行设置。

谢谢

0 投票
2 回答
4669 浏览

jmc - 江铃飞行记录仪不工作

I Java(TM) SE 运行时环境(构建 1.7.0_45-b18)Java HotSpot(TM) 64 位服务器 VM(构建 24.45-b08,混合模式)部署在 Linux 机器上。我能够运行 Java Mission control (JMC),但是我无法从 JMC 运行“飞行记录器”。我收到一条弹出消息:

未启用商业功能。在JDK7u4及以上,JVM必须以-XX:+UnlockCommercialFeatures -XX:+FlightRecorder启动。

我检查了我的 jmc.ini 文件,该文件与 JMC 应用程序本身位于同一 $JAVA_HOME/bin 目录中,它具有以下两个标志:

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder

飞行记录器可能有什么问题?

先感谢您。

0 投票
1 回答
1151 浏览

java - 如何使用 Java Flight Recorder 避免截断堆栈跟踪

我正在使用 Oracle Java Flight Recorder收集 Java 应用程序的堆栈跟踪示例。这些堆栈跟踪使我最终能够生成CPU Flamegraph

我的问题是超过 64 帧的堆栈跟踪被 Java Flight Recorder 截断。在 Flamegraph 中很容易观察到,使用调试器我可以观察到 noFLRStackTrace超过 64FLRFrame秒,并且几乎所有 64 帧的堆栈跟踪都将其 TruncationState 设置为TRUNCATED

有谁知道这个 64 帧限制是否可以增加?如果堆栈跟踪不完整,火焰图将毫无用处。

0 投票
1 回答
610 浏览

java - Java Flight Recorder 如何对原生帧进行采样 (jni / jna)

我试图了解 Java Flight Recorder 如何对使用本机库的应用程序进行采样(在我的例子中是通过 JNA)。

让我们编写一个将大部分时间花在本土的测试用例:

doStuff 是一个缓慢的、受 CPU 限制的函数

doStuff 在我的机器上执行大约需要 2 秒,而 main 在大约 30 秒内完成。我使用以下 JVM 选项使用 jdk1.8.0_60 运行此测试用例:-XX:+UnlockCommercialFeatures -XX:+FlightRecorder -XX:FlightRecorderOptions=defaultrecording=true,dumponexit=true,dumponexitpath=jna.jfr.

当我打开时jna.jfr,我看到转储包含一个堆栈跟踪事件。据我了解,与大多数分析器不同,JFR 在本机代码运行时不会生成堆栈跟踪事件。我完全理解 JFR 不会分析本机代码,但我希望生成堆栈跟踪事件,堆栈跟踪在 java/本机代码边界处被截断。

我的设置有问题还是预期的行为?我发现它真的很容易出错。如果您不仔细验证样本计数,很容易认为热点位于 Java 代码中,而大部分时间都花在本机代码中。

也不可能知道最昂贵的本地调用在哪里,这就是您首先使用分析器的原因:)

0 投票
2 回答
5082 浏览

java - 如何确定当前使用的远程 RMI 服务器端口

我在想要使用 Java Mission Control 监控的某个远程服务器上运行了一个 java 进程(在 java 7 上)。但是,JMC 无法连接,尽管我可以使用端口 jmx 远程端口(此处为 12345,见下文)远程登录到服务器。

远程java进程开始于

这些对我来说似乎是正确的价值观。防火墙上已经开放了12345端口,但是我怀疑rmi服务器端口被防火墙屏蔽了。

因此,我的问题是:有没有办法(在服务器上使用 netstat 或者甚至从客户端使用 telnet)来确定 java 进程当前在服务器上使用哪个 rmi 服务器端口?(使用 netstat,我看到 java 进程使用了​​几个端口。但是,我不知道哪个是 rmi 端口。)