Skip to content

Commit

Permalink
build 2.1.4
Browse files Browse the repository at this point in the history
  • Loading branch information
tzfun committed Jun 22, 2023
1 parent bb10e8b commit 2c60053
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 8 deletions.
15 changes: 8 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ JVM(内存、线程、线程池、内存池、GC、类加载器等),还提
* 线程池信息:配置参数、状态、任务统计等
* GC信息:分代收集器信息、GC次数、GC耗时等
* 类加载信息:类加载统计、类加载器、JIT
* 支持操作系统数据采集:内存状态、CPU负载、磁盘状态及IO吞吐率、网卡状态及IO吞吐率
* 支持操作系统数据采集:内存状态、CPU负载、磁盘状态及IO吞吐率、网卡状态及IO吞吐率、端口检测
* 支持火焰图生成,采样事件包括CPU、内存分配、线程栈、Java方法及native方法调用栈等
* 支持Java代码反编译生成
* 支持Java代码热更新(可指定ClassLoader)
Expand Down Expand Up @@ -243,7 +243,7 @@ server:

# The default Jvmm log configuration, if no SLF4J log implementation is found in the startup environment, use this configuration.
log:
# Log level: error, warn, info, debug, trace
# Log level: ERROR, WARN, INFO, DEBUG, TRACE
level: INFO
# Log file output directory
file: logs
Expand Down Expand Up @@ -643,13 +643,14 @@ Dashboard应用示例
java.lang.reflect.InaccessibleObjectException: Unable to make field final jdk.internal.loader.URLClassPath jdk.internal.loader.ClassLoaders$AppClassLoader.ucp accessible: module java.base does not "opens jdk.internal.loader" to unnamed module @2d127a61
```

解决办法:添加下面两个虚拟机参数
解决办法:添加下面几个虚拟机参数

```shell
# JDK 9+开始不允许动态加载依赖,需要设置以下两个虚拟机参数
# --add-opens java.base/jdk.internal.loader=ALL-UNNAMED
# --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED
java -jar --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED jvmm-server.jar ./config.yml
# JDK 9+开始不允许动态加载依赖,需要设置以下几个虚拟机参数
# --add-opens java.base/jdk.internal.loader=ALL-UNNAMED
# --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED
# --add-opens java.management/sun.management=ALL-UNNAMED
java -jar --add-opens java.base/jdk.internal.loader=ALL-UNNAMED --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED --add-opens java.management/sun.management=ALL-UNNAMED jvmm-server.jar ./config.yml
```

## kernel.perf_event_paranoid权限开关
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,14 @@ public static void loadJar(ClassLoader classLoader, URL jar) throws Throwable {
method.setAccessible(true);
method.invoke(classLoader, jar.getFile());
} catch (Throwable e) {
if (e.getClass().getName().equals("java.lang.reflect.InaccessibleObjectException")) {
System.err.println("Unable to obtain reflection permissions. In a higher version of jdk, " +
"please add JVM parameters to enable related permissions: \n" +
"\t1. --add-opens java.base/jdk.internal.loader=ALL-UNNAMED\n" +
"\t2. --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED\n" +
"\t3. --add-opens java.management/sun.management=ALL-UNNAMED\n" +
"See https://github.com/tzfun/jvmm#%E5%90%AF%E5%8A%A8jvmm%E6%97%B6%E6%8A%A5%E9%94%99-javalangillegalargumentexception-can-not-found-java-program-jps for more information.");
}
e.printStackTrace();
throw e;
}
Expand Down
2 changes: 1 addition & 1 deletion build.gradle
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
group = 'io.github.tzfun.jvmm'
version = '2.1.3'
version = '2.1.4'

ext {
nettyVersion = "4.1.92.Final"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,14 @@ public static void loadJar(ClassLoader classLoader, URL jar) throws Throwable {
method.setAccessible(true);
method.invoke(classLoader, jar.getFile());
} catch (Throwable e) {
if (e.getClass().getName().equals("java.lang.reflect.InaccessibleObjectException")) {
System.err.println("Unable to obtain reflection permissions. In a higher version of jdk, " +
"please add JVM parameters to enable related permissions: \n" +
"\t1. --add-opens java.base/jdk.internal.loader=ALL-UNNAMED\n" +
"\t2. --add-opens jdk.zipfs/jdk.nio.zipfs=ALL-UNNAMED\n" +
"\t3. --add-opens java.management/sun.management=ALL-UNNAMED\n" +
"See https://github.com/tzfun/jvmm#%E5%90%AF%E5%8A%A8jvmm%E6%97%B6%E6%8A%A5%E9%94%99-javalangillegalargumentexception-can-not-found-java-program-jps for more information.");
}
e.printStackTrace();
throw e;
}
Expand Down

0 comments on commit 2c60053

Please sign in to comment.