java-jvm-tool
Jstatd 远程连接(推荐)
不用重启项目
远程机配置
[demo@localhostjvmtest]$vijstatd.all.policy
#内容
grantcodebase"file:/home/demo/jdk1.8.0_171/lib/tools.jar"{
permissionjava.security.AllPermission;
};
#IP为远程机外网IP(必须配置ip地址)
[demo@localhostjvmtest]$nohupjstatd-J-Djava.security.policy=jstatd.all.policy-J-Djava.rmi.server.hostname=172.16.29.61-p1099-J-Djava.rmi.server.logCalls=true&
[1]203089
[demo@localhostjvmtest]$nohup:忽服务器托管网略输入并把输出追加到"nohup.out"
[demo@localhostjvmtest]$
[demo@localhostjvmtest]$tail-fnohup.out
java.security.AccessControlException:accessdenied("java.util.PropertyPermission""java.rmi.server.ignoreSubClasses""write")
atjava.security.AccessControlContext.checkPermission(AccessControlContext.java:472)
atjava.security.AccessController.checkPermission(AccessController.java:884)
atjava.lang.SecurityManager.checkPermission(SecurityManager.java:549)
atjava.lang.System.setProperty(System.java:792)
atsun.tools.jstatd.Jstatd.main(Jstatd.java:139)
十二月19,20232:28:49下午sun.rmi.server.UnicastServerReflogCall
较详细:RMITCPConnection(1)-127.0.0.1:[127.0.0.1:sun.rmi.registry.RegistryImpl[0:0:0,0]:voidrebind(java.lang.String,java.rmi.Remote)]
十服务器托管网二月19,20232:28:50下午sun.rmi.server.UnicastServerReflogCall
较详细:RMITCPConnection(2)-172.16.29.61:[172.16.29.61:sun.rmi.transport.DGCImpl[0:0:0,2]:java.rmi.dgc.Leasedirty(java.rmi.server.ObjID[],long,java.rmi.dgc.Lease)]
#记得防火墙开端口或者直接关闭防火墙
[root@localhost~]#firewall-cmd--zone=public--add-port=1099/tcp--permanent
[root@localhost~]#firewall-cmd--reload
客户端连接
在配置好环境变量的前提下,直接在cmd
下执行 jvisualvm
命令。
客户端运行jvisualvm visualvm中添加远程机
选中添加的远程机,右击,点击【添加 jstatd 连接】,可以设置端口以及刷新时间。
jstatd端口配置 配置详情 最终结果
JMX 连接
服务端启动配置
-Dcom.sun.management.jmxremote.port=8999
-Dcom.sun.management.jmxremote.rmi.port=8999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=172.16.29.61
客户端连接
jvisualvm
首先,右击【远程】,点击【添加远程主机】
然后,右击添加的主机,点击【添加 JMX 连接】,输入对应端口号。
添加JMX连接
jconsole
在配置好环境变量的前提下,直接在cmd
下执行 jconsole
命令。
新建连接 可检测死锁
补充
linux shell 参数换行(标准说法:续行)
Enter,反斜杠后面紧跟回车,表示下一行是当前行的续行。(For Windows, use the carat (^
) instead of the backslash () to break up a long command into multiple lines)
nohupjava-jar-XX:MetaspaceSize=1024m
-XX:MaxMetaspaceSize=2048m
-Dcom.sun.management.jmxremote.port=8999
-Dcom.sun.management.jmxremote.rmi.port=8999
-Dcom.sun.management.jmxremote.ssl=false
-Dcom.sun.management.jmxremote.authenticate=false
-Djava.rmi.server.hostname=172.16.29.61
-Dlog4j2.formatMsgNoLookups=true
${APP_NAME}--server.port=8082>>logs/8082.log2>&1&
问题
java.security.AccessControlException: access denied
可将文件 jstatd.all.policy 文件中的${JAVA_HOME}写成绝对路径即可。
参考
Monitoring and Management Using JMX Technology – Java SE Monitoring and Management Guide (oracle.com)
JDK Tools and Utilities
Monitoring and Management Using JMX Technology
Monitoring and Management Guide
Enabling remote JMX with password authentication only (apache.org)
JMX 入门(三)认证加密_jmx 加密-CSDN 博客
为 JMX JConsole 设置用户名密码登录_jconsole 连接本机默认用户名密码-CSDN 博客
选项 2:在不使用 SSL 的情况下设置 JMX 以进行客户机认证 – IBM 文档
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
相关推荐: 视频监控/监控汇聚平台EasyNVR协力打造智慧社区
EasyNVR在智慧安防等视频监控场景中具备强大的功能。它提供实时监控直播、云端录像、云存储、录像检索与回放、告警等视频能力,满足了行业安防监控和无人值守等业务需求。用户可以通过EasyNVR平台实时观看监控画面,并且可以对视频进行录像,将录像存储到云端进行长…