准备工作:
1.确保本地电脑windows安装的jdk版本有jvisualvm工具,查看你jdk的home目录下面的bin目录是否存在jvisualvm.exe
2.确保你的远程服务器(linux)安装的jdk版本存在 jstatd(位于jdk的home下面的bin目录下),以及tools.jar
首先是linux
1.首先在你的linux服务器任意位置新建一个文件:jstatd.all.policy(名字可以随意) 内容如下:
grant codebase "file:${java.home}/../lib/tools.jar" {
permission java.security.AllPermission;
};
注:${java.home} 被识别为当前jstatd的目录,即使系统指定JAVA_HOME,$JAVA_HOME也不能被识别,或者直接使用绝对路径。jstatd.all.policy可以放在任何位置,运行时需要指定绝对路径。
2. 然后运行命令 :jstatd -J-Djava.security.policy=/ccg/java/jstatd.all.policy -J-Djava.rmi.server.hostname=ip (你linux服务器ip地址)
注:/ccg/java/jstatd.all.policy 是你上面配置文件的绝对地址,只能使用绝对地址否则报错,ip地址是你linux服务器ip地址
3. 新开一个linux命令行终端,运行 netstat -anp|grep jstatd,这时你可以看到 jstatd监听了两个端口,一个是固定的1099,另一个是每次是不一样的端口号现在

本文介绍如何通过在Linux服务器上部署jstatd服务,并利用Windows系统中的jvisualvm工具实现远程监控Linux上的Java应用程序。具体步骤包括配置jstatd的安全策略、启动jstatd服务并监听指定端口,最后通过jvisualvm建立连接获取远程Java进程信息。
最低0.47元/天 解锁文章
4609

被折叠的 条评论
为什么被折叠?



