java - 为什么在visualvm中无法连接到远程服务器上的jstatd
问题描述
在服务器端,我添加了一个jstatd.policy
文件:
grant codebase "jrt:/jdk.jstatd" {
permission java.security.AllPermission;
};
grant codebase "jrt:/jdk.internal.jvmstat" {
permission java.security.AllPermission;
};
并像这样启动 jstatd:
nohup /usr/local/jdk/bin/jstatd -J-Djava.security.policy=./jstatd.policy -J-Djava.rmi.server.hostname=0.0.0.0 &
然后我将端口映射添加到远程服务器,当我在本地机器上使用visualVM连接到远程服务器时,UI中没有java进程,也没有错误输出。那么问题出在哪里?我应该怎么做才能连接到远程服务器并监控java进程?这是我的java信息:
[root@izbp19pke6x0v6ruecuy1yz dolphin-post]# java -version
openjdk version "11.0.8" 2020-07-14
OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.8+10)
OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.8+10, mixed mode)
我正在使用此命令检查端口:
[root@izbp19pke6x0v6ruecuy1yz ~]# lsof -i:1099
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
jstatd 25772 root 9u IPv4 172005438 0t0 TCP *:rmiregistry (LISTEN)
并扫描我本地机器上的端口:
$ nmap -p 1099 12.96.19.23 ‹ruby-2.7.2›
Starting Nmap 7.80 ( https://nmap.org ) at 2021-07-02 22:12 CST
Nmap scan report for postgres.dolphin.com (12.96.19.23)
Host is up (0.021s latency).
PORT STATE SERVICE
1099/tcp open rmiregistry
Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds
似乎端口没有映射到互联网,但我确定我已经配置了防火墙以打开端口。
解决方案
推荐阅读
- c - 警告:spi_register_board_info 未定义
- php - 如何在两个多维数组之间合并尊重他们的键
- java - 如何在 Java 配置中执行以下 XML 配置
- google-sheets - 对范围使用模式并忽略空格
- azure - 在行上发现数据工厂电子邮件错误
- react-admin - React-Admin:禁用 Fitler 的“搜索时键入”
- python-asyncio - 处理异步死锁
- java - 休眠会话保存方法不起作用?
- shell - 用于附加名称相同部分的文件的脚本
- c++ - 如何使用 FFmpeg 和 C/C++ 将数据流添加到 MXF(使用 mpeg2video)文件中