java - JProfiler9 无法执行 jpenable
问题描述
我必须从安装在 Windows 机器上的 JProfiler 远程分析监视安装在 linux 机器上的 vertx 服务器。在我的 linux 机器上,为了让 JVM 准备好进行分析,我执行了以下操作来运行 jpenable:
- 下载https://download-gcdn.ej-technologies.com/jprofiler/jprofiler_linux_9_2_1.tar.gz。
- 解压 tar -zxvf jprofiler_linux_9_2_1.tar.gz
执行 jprofiler9/bin/jpenable。由于只有一次运行的进程是我的 vertx 服务器,因此它是自动选择的。它提示选择分析模式,如下所示:
请选择分析模式:
GUI模式(附加JProfiler GUI)[1,Enter]
离线模式(使用配置文件设置分析设置)[2]当我选择 1 并按 Enter 时,它会引发以下异常:
java.lang.ExceptionInInitializerError
at java.net.ServerSocket.setImpl(ServerSocket.java:303)
at java.net.ServerSocket.(ServerSocket.java:245)
at java.net.ServerSocket.(ServerSocket.java:143)
at com .ejt.framework.g.ab.b(ejt:30)
在 com.ejt.framework.g.ab.a(ejt:13)
在 com.jprofiler.cli.EnableApplication.l(ejt:141)
在 com。 jprofiler.cli.EnableApplication.a(ejt:131)
at com.jprofiler.cli.EnableApplication.h(ejt:95)
at com.jprofiler.cli.ba(ejt:26)
at com.jprofiler.cli.EnableApplication.main (ejt:272)
在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
在 java.lang.reflect.Method.invoke(Method.java:498)
在 com。 exe4j.runtime.LauncherEngine.launch(LauncherEngine.java:65)
at com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)
原因:
java.lang.ClassLoader.loadLibrary( ClassLoader.java:1847)
在 java.lang.Runtime.loadLibrary0(Runtime.java:871)
在 java.lang.System.loadLibrary(System.java:1124)
在 java.net.AbstractPlainSocketImpl$1.run(AbstractPlainSocketImpl.java: 84)
在 java.net.AbstractPlainSocketImpl$1.run(AbstractPlainSocketImpl.java:82)
在 java.security.AccessController.doPrivileged(Native Method)
在 java.net.AbstractPlainSocketImpl.(AbstractPlainSocketImpl.java:81)
... 还有 16 个
不知道是什么导致了这个异常。我用谷歌搜索了它,没有遇到任何面临相同问题和解决方案的人。任何人都可以帮助找出导致此异常的原因。
注意:Linux机器上安装的Java:
openjdk版本“1.8.0_242”
OpenJDK Runtime Environment(build 1.8.0_242-b08)
OpenJDK 64-Bit Server VM(build 25.242-b08,混合模式)
解决方案
此异常是由 8u242 中的更改引起的,该更改已针对 8u252 再次退出。对于旧版本的 JProfiler,您必须使用 8u242 以外的 JRE。您可以通过定义环境变量来做到这一点INSTALL4J_JAVA_HOME_OVERRIDE
。
JProfiler 11.1.1+ 也适用于 8u242。
推荐阅读
- python - 如何设置 PyCharm 在调试模式下在变量窗口中显示变量的大小?
- azure - 尝试以非 root 用户身份运行时 AKS crashloopbackoff
- paypal - 处理 PayPal 付款导致付款人未批准付款错误
- android - 缺少键盘映射“Windows 正确重做”颤动
- java - 使用从 ESP32 到 Spring Boot 安全 API 的预共享密钥
- azure - Azure 拒绝自定义策略,如果未启用 vm 备份
- python - python logging 函数可以返回日志消息吗?
- python - pandas resample 是否会更改日期时间索引的排序顺序?我怎样才能避免这种情况?
- webpack - Webpack:没有 luxon 的捆绑库(打字稿)
- neutralinojs - 对 HTML 输入属性接受的中性诺伊斯解决方法