目录
前言
如果有需要观察项目是否有内存泄漏的情况。
思路:
(1)找到java所在地management 文件夹,根据模板创建一个jmxremote.password,并去掉 # monitorRole QED 和 # controlRole R&D 这两行前面的注释符号
(2)在 ~/.bash_profile 文件夹中新增 属性名JAVA_OPTS
(3)打开防火墙指定端口或关闭防火墙
(4)启动java程序的时候需要加上$JAVA_OPTS这个属性
(5)连接根据端口连接就行
一、创建jmxremote.password
这个并不是必须的!!!如果是使用tomcat就需要,如果是jar包启动的一般就不需要了
查找java所在地:
han@ubuntu:/etc$ whereis java
java: /usr/bin/java /usr/share/java /usr/lib/jvm/java-8-openjdk-amd64/bin/java /usr/share/man/man1/java.1.gz
han@ubuntu:/etc$ ls -lrt /usr/bin/java
lrwxrwxrwx 1 root root 22 4月 2 15:54 /usr/bin/java -> /etc/alternatives/java
han@ubuntu:/etc$ ls -lrt /etc/alternatives/java
lrwxrwxrwx 1 root root 46 4月 2 15:54 /etc/alternatives/java -> /usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java
a.进入JAVA_HOME\jre\lib\management\目录
b.拷贝jmxremote.password.template这个文件到当前目录, 并改名为jmxremote.password
c.打开jmxremote.password文件,去掉 # monitorRole QED 和 # controlRole R&D 这两行前面的注释符号
二、在 ~/.bash_profile 文件夹中新增 属性名JAVA_OPTS
# 进入.bash_profile文件
vim ~/.bash_profile
#加上配置 ,配置中还需要修改ip才能使用
JAVA_OPTS="-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=172.16.1.53 -Dcom.sun.management.jmxremote.rmi.port=9999"
#重新加载文件
source ~/.bash_profile
各参数含义:
-Djava.rmi.server.hostname=172.16.1.53 :远程服务器的主机名;
-Dcom.sun.management.jmxremote :是否支持远程JMX访问,默认true;
-Dcom.sun.management.jmxremote.port :是JMX远程监控端口号,需要在防火墙开放该端口;
-Dcom.sun.management.jmxremote.ssl=false :表示是否对连接开启SSL加密,默认开启;
-Dcom.sun.management.jmxremote.authenticate=false :是否需要开启用户认证,默认开启,如果开启需要额外配置授权文件;
-Dcom.sun.management.jmxremote.rmi.port=9999 :RMI端口号,JMX在远程连接时,会随机开启一个RMI端口作为连接的数据端口,可以和JMX端口号相同。
三、打开防火墙指定端口或关闭防火墙
1、查看firewall服务状态
systemctl status firewalld
出现Active: active (running)切高亮显示则表示是启动状态。
出现 Active: inactive (dead)灰色表示停止,看单词也行。
2、查看firewall的状态
firewall-cmd --state
3、开启、重启、关闭、firewalld.service服务
# 开启
service firewalld start
# 重启
service firewalld restart
# 关闭
service firewalld stop
4、查看防火墙规则
firewall-cmd --list-all
5、查询、开放、关闭端口
# 查询端口是否开放
firewall-cmd --query-port=8080/tcp
# 开放80端口
firewall-cmd --permanent --add-port=80/tcp
# 移除端口
firewall-cmd --permanent --remove-port=8080/tcp
#重启防火墙(修改配置后要重启防火墙)
firewall-cmd --reload
四、在启动的时候需要带上$JAVA_OPTS属性
五、连接
如果需要输入用户名密码的时候输入就行,一般不需要
参考:https://blog.csdn.net/u011391839/article/details/76984995
参考:https://blog.csdn.net/weixin_34049948/article/details/92303604
后言
啊哈