通过jvisualVM远程监控java进程

  1. 找到JAVA_HOME
    whereis java
    ls -l /usr/bin/java
    cd {JAVA_HOME}/bin

  2. 创建jstatd.all.policy程序文件, 并修改新程序文件权限
    touch jstatd.all.policy
    chmod +x jstatd.all.policy

  3. touch追加 或者 vi复制代码
    grant codebase “file:${java.home}/…/lib/tools.jar” {
            permission java.security.AllPermission;
    };
    到新建的jstatd.all.policy文件中

  4. 启动此程序, 占用端口, 此例中使用8066
    nohup jstatd -J-Djava.security.policy=jstatd.all.policy -p 8066  >/dev/null 2>&1 &

  5. 查看启动状态
    ps -ef |grep jstatd

  6. 防火墙开放jmx端口, 第5步中的指定的端口
    firewall-cmd --add-port=8066/tcp --permanent
    firewall-cmd --reload
    firewall-cmd --query-port=8066/tcp

  7. 启动脚本中添加参数,hostname为当前服务器的地址, 此例为中使用10.150.133.2
    -Djava.rmi.server.hostname=10.150.133.2  -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=8066 -Dcom.sun.management.jmxremote.rmi.port=8066 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false

8.打开本地 jvisualvm.exe, 点击远程, 输入监控的服务器ip add JMX Connection添加端口8066

### 配置 JVisualVM 进行远程服务器监控 为了通过 JVisualVM 对远程 Linux 或 Windows 服务器上的 JVM 进程进行有效监控,需完成特定的配置工作。主要涉及两个方面:一是确保目标机器上的 Java 应用程序能够被外部工具访问;二是设置好客户端端(即运行 JVisualVM 的计算机)连接到这些应用程序的方式。 #### 启动带有适当参数的Java应用以便于远程管理 为了让 VisualVM 能够连接并监视位于远端的操作系统中的 Java 程序实例,在启动该服务时应加入一系列专门用于启用远程管理和调试功能的 JVM 参数[^4]: ```bash -Djava.rmi.server.hostname=<公共IP地址> -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=<监听端口, 如10099> -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false ``` 上述命令片段展示了如何指定 RMI 绑定 IP 地址以及打开无认证模式下的 JMX Remoting 接口。请注意关闭身份验证和 SSL 加密可能会带来安全风险,因此仅建议在受信任网络环境中采用此方式部署生产环境之外的服务。 #### 安全组或防火墙规则调整 考虑到安全性因素,默认情况下许多云平台的安全策略会阻止来自外界对该端口号的数据请求。所以还需要相应地修改操作系统的防火墙设定或是云计算服务商所提供的虚拟私有云 (VPC) 中的安全组规则来允许入站流量到达所选端口上[^2]。 对于Linux系统而言,可以通过`iptables`或者更现代的`firewalld`来进行这样的更改;而在Windows Server里,则应该利用内置的高级防火墙控制台界面执行相同任务。 #### 使用JVisualVM建立远程连接 一旦完成了以上准备工作之后,就可以借助安装在同一局域网内任意一台电脑里的 JVisualVM 来发起对远方主机之上正在运行着的目标进程的性能跟踪了。当首次尝试添加新的远程主机条目时,软件将会提示输入必要的连接细节——主要是指之前定义好的那个开放给外部调用者的 TCP/IP socket接口位置信息[^3]。 此时只需按照界面上给出的指示填写对应字段即可成功建立起两者间的通信链路,并进而获取关于后者内部运作状况的第一手资料。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值