首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在OpenJ9 9/阿尔卑斯容器上使用JProfiler 12.0.3建立远程分析

如何在OpenJ9 9/阿尔卑斯容器上使用JProfiler 12.0.3建立远程分析
EN

Stack Overflow用户
提问于 2021-06-28 22:13:24
回答 1查看 511关注 0票数 1

我正在尝试用jprofiler 12.0.3设置一个高寒linux对接器容器,这样我就可以远程连接到它。

在我的Dockerfile

代码语言:javascript
复制
FROM adoptopenjdk/openjdk11-openj9:alpine-slim
...
RUN wget https://download-gcdn.ej-technologies.com/jprofiler/jprofiler_linux_12_0_3.tar.gz -P /jprofiler/ && tar -xzf jprofiler_linux_12_0_3.tar.gz -C /jprofiler && rm /jprofiler/jprofiler_linux_12_0_3.tar.gz
ENTRYPOINT ["./startup.sh"]

在我的startup.sh文件中:

代码语言:javascript
复制
...
JAVA_OPTS="$JAVA_OPTS -agentpath:/jprofiler/jprofiler12.0.3/bin/linux_musl-x64/libjprofilerti.so=port=8849,nowait"
...

但是,当我使用上面的Dockerfile构建并运行docker映像时,我得到:

代码语言:javascript
复制
Starting app with JAVA_OPTS:  -agentpath:/jprofiler/jprofiler12.0.3/bin/linux_musl-x64/libjprofilerti.so=port=8849,nowait
JProfiler> Protocol version 64
JProfiler> Thread status info workaround enabled.
JProfiler> OpenJ9 JVMTI version 1.1 detected.
JProfiler> Java 11 detected.
JProfiler> Don't wait for frontend to connect.
JProfiler> 64-bit library (musl)
JProfiler> Could not locate the config file.
JProfiler> Please specify config=[config filename].
JProfiler> If you are running JProfiler's frontend on a different
JProfiler> machine you have to copy the file jprofiler_config.xml to this
JProfiler> computer. The file is located in $HOME/.jprofiler12 or
JProfiler> in C:\Users\[username]\.jprofiler12.

如果我将基本图像更改为像下面这样的热点图像:

代码语言:javascript
复制
FROM adoptopenjdk:11-jre-hotspot-focal
...
RUN wget https://download-gcdn.ej-technologies.com/jprofiler/jprofiler_linux_12_0_3.tar.gz -P /jprofiler/ && tar -xzf jprofiler_linux_12_0_3.tar.gz -C /jprofiler && rm /jprofiler/jprofiler_linux_12_0_3.tar.gz
ENTRYPOINT ["./startup.sh"]

startup.sh到:

代码语言:javascript
复制
... 
JAVA_OPTS="$JAVA_OPTS -agentpath:/jprofiler/jprofiler12.0.3/bin/linux_musl-x64/libjprofilerti.so=port=8849,nowait"    
...

我得到了以下输出,我可以使用JProfiler远程连接到这个JVM:

代码语言:javascript
复制
Starting app with JAVA_OPTS:  -agentpath:/jprofiler/jprofiler12.0.3/bin/linux-x64/libjprofilerti.so=port=8849,nowait
JProfiler> Protocol version 64
JProfiler> Java 11 detected.
JProfiler> Don't wait for frontend to connect.
JProfiler> 64-bit library
JProfiler> Starting up without initial configuration.
JProfiler> Listening on port: 8849.
JProfiler> Enabling native methods instrumentation.
JProfiler> Can retransform classes.
JProfiler> Can retransform any class.
JProfiler> Native library initialized
JProfiler> VM initialized
JProfiler> Retransforming 162 base class files.
JProfiler> Base classes instrumented.

您是否知道高寒图像为什么会以这种方式运行,以及是否有任何方法来解决这个配置文件问题?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-29 07:47:44

区别在于OpenJ9和Hotspot VM之间的区别。对于OpenJ9 JProfiler,在启动时需要配置设置,因此必须为-agentpath参数指定"config“选项。

您可以使用远程集成向导(Session->Integration >)集成来获得设置此向导的帮助。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68170531

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档