java - JProfiler9无法执行jpenable

标签 java linux monitoring profiler jprofiler

我必须通过安装在 Windows 计算机上的 JProfiler 远程分析来监视安装在 Linux 计算机上的 vertx 服务器。在我的 Linux 机器上,为了使 JVM 准备好进行分析,我执行了以下操作来运行 jpenable:

  1. 已下载 https://download-gcdn.ej-technologies.com/jprofiler/jprofiler_linux_9_2_1.tar.gz .
  2. 将其解压为 tar -zxvf jprofiler_linux_9_2_1.tar.gz
  3. 已执行 jprofiler9/bin/jpenable。由于只有一个进程正在运行,即我的 vertx 服务器,因此它是自动选择的。提示选择分析模式,如下所示:

    请选择分析模式:
    GUI模式(附加JProfiler GUI)[1,Enter]
    离线模式(使用配置文件设置分析设置)[2]

  4. 当我选择 1 并按 Enter 时,它会引发以下异常:

    java.lang.ExceptionInInitializerError
    在 java.net.ServerSocket.setImpl(ServerSocket.java:303)
    在 java.net.ServerSocket.(ServerSocket.java:245)
    在 java.net.ServerSocket.(ServerSocket.java:143)
    在 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)
    在 com.jprofiler.cli.EnableApplication.h(ejt:95)
    在 com.jprofiler.cli.b.a(ejt:26)
    在 com.jprofiler.cli.EnableApplication.main(ejt:272)
    在 sun.reflect.NativeMethodAccessorImpl.invoke0( native 方法)
    在 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)
    在 com.install4j.runtime.launcher.UnixLauncher.main(UnixLauncher.java:57)
    引起原因:java.lang.NullPointerException
    在 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 方法)
    在 java.net.AbstractPlainSocketImpl.(AbstractPlainSocketImpl.java:81)
    ... 16 个以上

不知道是什么导致了这个异常。我用谷歌搜索了一下,没有发现任何人面临同样的问题和解决方案。谁能帮忙找出导致此异常的原因。

注意:Linux 机器上安装的 Java:
openjdk版本“1.8.0_242”
OpenJDK 运行时环境(版本 1.8.0_242-b08)
OpenJDK 64 位服务器虚拟机(版本 25.242-b08,混合模式)

最佳答案

此异常是由 8u242 中的更改引起的,该更改又被 8u252 取消。对于旧版本的 JProfiler,您必须使用 8u242 以外的 JRE。您可以通过定义环境变量 INSTALL4J_JAVA_HOME_OVERRIDE 来做到这一点。

JProfiler 11.1.1+ 也适用于 8u242。

关于java - JProfiler9无法执行jpenable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61302762/

相关文章:

python - 即使在 Linux 中崩溃时也会自动重启 python 脚本

linux - 使用monit重启ffmpeg进程

java - 没有临时队列的 JMS RPC

java - 从另一个类以编程方式关闭抽屉导航

java - 派生值是否应该保留?

linux - 如何使用 sox 或其他 linux 命令行工具创建脉冲序列 .wav

c# - 在没有管理员权限的 Linux 中运行 .NET 解决方案文件

java - 如何启用Zabbix tomcat每秒接收字节数项?

c# - Process.WorkingSet64 返回最大值 4294967295

java - 由 : java. lang.ClassNotFoundException : com. fasterxml.jackson.databind.JavaType not found 引起