如何在 JDK 11 中建立 jstatd 连接

使用 VisualVMVirsual GC 插件需要先和服务器建立 jstatd 连接,在 JDK 9 之前需要首先创建一个 policy 文件并声明权限:

1
2
3
grant codebase "file:${java.home}/lib/tools.jar" {
permission java.security.AllPermission;
};

然而,从 JDK 9 开始,tools.jar 已被移除,需要将 policy 文件的内容修改为:

1
2
3
4
5
6
7
grant codebase "jrt:/jdk.jstatd" {    
permission java.security.AllPermission;
};

grant codebase "jrt:/jdk.internal.jvmstat" {
permission java.security.AllPermission;
};

参考: