Memory management 无法使用JStat连接到远程JVM
通过Jstat,Jstat可以连接到本地和远程JVM。URI的格式可以是Memory management 无法使用JStat连接到远程JVM,memory-management,jvm,heap,jvm-hotspot,jstat,Memory Management,Jvm,Heap,Jvm Hotspot,Jstat,通过Jstat,Jstat可以连接到本地和远程JVM。URI的格式可以是 [protocol:][//]lvmid[@hostname[:port]/servername] 我在一台启用了JMX的服务器(CentOS)上运行了一个JVM- xyz 23878 1 0 Jun01 ? 04:37:00 java -Xms1g -Xmx1g -XX:NewSize=512m -Xloggc:../9301/logs/gc.log -verbose:gc -XX:+Pr
[protocol:][//]lvmid[@hostname[:port]/servername]
我在一台启用了JMX的服务器(CentOS)上运行了一个JVM-
xyz 23878 1 0 Jun01 ? 04:37:00 java -Xms1g -Xmx1g -XX:NewSize=512m -Xloggc:../9301/logs/gc.log -verbose:gc -XX:+PrintGCDateStamps -XX:+PrintGCDetails -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=../9301/logs/oom.log **-Dcom.sun.management.jmxremote=true -Dcom.sun.management.jmxremote.port=19301 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.local.only=false** -jar ../0.1.14/xyz-0.1.14.jar -serviceName <name> -dataCenter <name> servicePort 9301
xyz 23878 01年6月10日?04:37:00 java-Xms1g-Xmx1g-XX:NewSize=512m-Xloggc:../9301/logs/gc.log-verbose:gc-XX:+printgcdatastamps-XX:+printgDetails-XX:+heapdumponutofmemoryError-XX:HeapDumpPath=../logs/oom.log**-Dcom.sun.management.jmxremote=true-Dcom.sun.management.jmxremote=19301-Dcom.sun.management.management.jmxremote=false-Dcom.sun.management.jmxremote.ssl=false-Dcom.sun.management.jmxremote.local.only=false**-jar../0.1.14/xyz-0.1.14.jar-serviceName-dataCenter servicePort 9301
我能够使用使用两步流程的JVisualVM从本地机器连接到JVM-
RMI Registry not available at <servername>:1099
Connection refused to host: <servername>; nested exception is:
java.net.ConnectException: Connection refused
RMI注册表在以下位置不可用:1099
拒绝连接到主机:;嵌套异常是:
java.net.ConnectException:连接被拒绝
通过网络查看了各种来源,他们讨论了使用jstatd
运行,我相信它正在运行,因为VisualVM能够添加机器
问题:我应该如何在jstat命令中设置[vmid]部分的框架以连接您需要在远程主机上运行才能使用jstat
只有运行RMI注册表是不够的。注册表仅用于注册各种RMI服务-Dcom.sun.management.jmxremote
选项启动jmxrmi
服务(适用于VisualVM),但jstat查找JStatRemoteHost
服务
一旦启动了
jstatd
,使用jstat-options流程_id@servername
用于监视远程VM的命令。非常感谢@apangin我在服务器上启动了jstatd,它成功了。我能够通过jstat-root 2343819717 0 00:11 pts/1 00:00:00 jstatd-J-Djava.security.policy=all.policy all.policy具有以下内容-grant codebase“文件:/opt/jdk/lib/tools.jar”{permission java.security.AllPermission;};关键是要确保策略文件中的文件:应该具有正确的路径。jstatd文档提供了一个在我的案例中不需要的通用示例