使用VisualVm,JMX方式和jstate方式调用远程环境,查看JVM情况。
目录:
一.远程JVM添加账号
二.远程java项目启动时增加监听接口
三.本地VisualVm连接远程JVM
四.jstate方式调用
五.JVM部分参数介绍
一.远程JVM添加账号
我们找到服务器的 JAVA jre 的地址:
java -verbose
进入management 目录
里面有这几个文件
复制一份 jmxremote.password 文件
cp -r jmxremote.password.template jmxremote.password
准备修改改文件内容,注意如果文件没有修改权限记得加上
chmod 600 jmxremote.password
vim jmxremote.password
增加 一个账号 和密码,用空格隔开。
修改 jmxremote.access文件
vim jmxremote.access
拷贝一份配置,把名字改成自己的账号。
二.远程java项目启动时增加监听接口
启动Java项目的时候,添加JVM的参数。
-Dcom.sun.management.jmxremote.port=8091 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=11.11.11.11
四行配置分别是(远程调用请求的端口、是否要求ssl连接、是否认证、服务器的远程ip地址)
如果不清楚自己的远程ip地址 可以执行下面的命令。
curl ifconfig.me
三.本地VisualVm连接远程JVM
打开VisualVm。添加远程主机 -- 输入远程 IP 地址 -- 确认。
输入 项目启动时配置的 端口,JVM 添加的 管理员账号。确定。双击点开就可以看到JVM的运行情况了。
四.jstate方式调用
在JDK的 bin 目录下增加 jstatd.all.policy 文件。内容如下,地址改为自己的地址。
[root@localhost /]# cd /usr/local/jdk1.8.0_181/bin/ [root@localhost bin]# vim jstatd.all.policy grant codebase "file:/usr/local/jdk1.8.0_181/lib/tools.jar" { permission java.security.AllPermission; };
在 bin 目录下,执行以下命令
jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.hostname=11.11.11.11 -p 8090
五.JVM部分参数介绍
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· 展开说说关于C#中ORM框架的用法!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?