从 Linux 命令行使用 jpcontroller 进行问题分析应用程序

问题描述 投票:0回答:1

我正在尝试从 Linux 命令行使用 jpcontroller 来分析 Java 应用程序(在同一机器上运行)并保存快照以供后续在本地计算机上进行分析。但是,我在分析应用程序的标准输出上看到以下错误“必须配置 JProfiler> 分析会话。忽略控制器调用。”

每当我在交互式 jpcontroller 会话中选择分析选项(例如开始记录 CPU 数据)时,都会写入此消息,并且在选择 jpcontroller 选项保存数据时不会写入分析数据文件。

什么可能会阻止探查器捕获指标并保存快照?

详情

- 我正在运行 jprofiler13.0.4

- 已分析的应用程序是使用以下命令启动的:OpenJDK 运行时环境 Temurin-17.0.8.1+1(内部版本 17.0.8.1+1)

- INSTALL4J_JAVA_HOME 环境变量也设置为指向 jdk-17.0.8.1+1-jre

- 我已在正在分析的应用程序上设置了代理路径 VM arg

- 在启动 jpcontroller 并将其附加到应用程序之前,我已经尝试过 nowait 和 wait 选项

以下是正在分析的应用程序的输出示例:

`开始**BLAH**(监视器=,jmx-port=1,jmx-object-port=3 DEBUG=2)

运行时位置是:** BLAH **

JProfiler> 协议版本 65

JProfiler> 检测到 Java 17。

JProfiler> 64 位库

JProfiler> 监听端口:8849。

JProfiler> 启用本机方法检测。

JProfiler> 可以重新转换类。

JProfiler> 可以重新转换任何类。

JProfiler> 本机库已初始化

JProfiler> VM 已初始化

JProfiler> 重新转换 6 个基类文件。

JProfiler> 检测基类。

JProfiler> 等待来自 JProfiler GUI 的连接...

JProfiler> 必须配置分析会话。忽略控制器调用。

JProfiler> 必须配置分析会话。忽略控制器调用。

JProfiler> 必须配置分析会话。忽略控制器调用。

JProfiler> 必须配置分析会话。忽略控制器调用。

JProfiler> 必须配置分析会话。忽略控制器调用。

JProfiler> 必须配置分析会话。忽略控制器调用。

JProfiler> 必须配置分析会话。忽略控制器调用。

`

下面显示了尝试使用 jpcontroller 捕获和存储指标的记录。

`./jpcontroller 28048

正在连接到 ** BLAH **

启动 JMX 管理代理...

GLib-GIO-Message:13:18:55.972:使用“内存”GSettings 后端。您的设置不会被保存或与其他应用程序共享。

连接建立成功。

请选择操作:

开始录制[1]

停止录制 [2]

启用触发器[3]

禁用触发器[4]

堆转储[5]

线程转储[6]

添加书签[7]

保存快照[8]

退出[9]

1

开始录制:

CPU 数据[1]

分配[2]

线程数据[3]

监控事件 [4]

虚拟机遥测数据[5]

复杂度分析[6]

探针 [7]

请输入以逗号分隔的所选值列表,或按 [Enter] 键进行默认选择:

[]

1,2,3

操作成功。

请选择操作:

开始录制[1]

停止录制 [2]

启用触发器[3]

禁用触发器[4]

堆转储[5]

线程转储[6]

添加书签[7]

保存快照[8]

退出[9]

8

请输入快照的文件名:

[snapshot_1.jps]

已将快照保存到 ** BLAH **/snapshot_1.jps`

jprofiler
1个回答
0
投票

代理没有任何分析设置,因此无法记录数据。

如果指定“nowait”选项,还需指定 config= 和 id= 参数以引用特定会话配置。总参数看起来像

-agentpath:/opt/jprofiler14/bin/linux-x64/libjprofilerti.so=port=8849,nowait,config=/path/to/config,id=123

会话 ID 可以在会话设置的应用程序设置选项卡的右上角看到。

我建议在桌面计算机上的 JProfiler 中配置 JProfiler 中的会话,并使用“会话”->“导出会话设置”将其导出。然后你可以省略“id”参数,因为配置只包含一个会话。

如果你这样做了,jpcontroller就可以开始录制了。

© www.soinside.com 2019 - 2024. All rights reserved.