青岛网站建设,福建建设注册中心网站,网站建设 专项资金变更,写手代写平台JVM调优-VisualVmVisualVm/ Jconsule远程连接第一种方式第二种方式#xff1a;java 11开启远程GC连接如果还连不上考虑防火墙拦截了端口firewall-cmd --list-all,查看一下并暴露对应端口连接配置VisualVm界面简介采集GC信息的一些命令垃圾回收器切换VisualVm/ Jconsule远程连接…
JVM调优-VisualVmVisualVm/ Jconsule远程连接第一种方式第二种方式java 11开启远程GC连接如果还连不上考虑防火墙拦截了端口firewall-cmd --list-all,查看一下并暴露对应端口连接配置VisualVm界面简介采集GC信息的一些命令垃圾回收器切换VisualVm/ Jconsule远程连接
引用自远程连接采录 首先了解两个概念:
Java RMIJava远程方法调用即Java RMIJava Remote Method Invocation Java JMX: Java管理扩展,即Java JMXJava Management Extensions 参数解析:
-Djava.rmi.server.hostname远程服务器ip //配置远程调用主机地址,即jar包运行所在系统的IP地址,不配置则默认使用hosts文件中的值
-Dcom.sun.management.jmxremotetrue
-Dcom.sun.management.jmxremote.port10034 //指定JMX的运行端口,jconsole需要对接的既是该端口
-Dcom.sun.management.jmxremote.sslfalse // 是否允许使用ssl方式接入
-Dcom.sun.management.jmxremote.authenticatefalse //是否需要进行身份验证
-Dcom.sun.management.jmxremote.rmi.port10034-Dcom.sun.management.jmxremote.local.onlytrue第一种方式
java -Djava.rmi.server.hostnamexxx.xxx.xxx.xxx
-Dcom.sun.management.jmxremote.port8888
-Dcom.sun.management.jmxremote.rmi.port8888
-Dcom.sun.management.jmxremote.sslfalse
-Dcom.sun.management.jmxremote.authenticatefalse
-Xms1024m -Xmx1024m -XX:MetaspaceSize512m -XX:MaxMetaspaceSize512m -XX:UseParallelOldGC -XX:UseParallelGC -XX:UseAdaptiveSizePolicy -jar xxx.jar第二种方式
首先在服务器终端设置环境变量主要是便于每次启动项目时使用
export JAVA_OPTS-Djava.rmi.server.hostname你的服务器地址公网ip -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port8888 -Dcom.sun.management.jmxremote.rmi.port8888 -Dcom.sun.management.jmxremote.authenticatetrue -Dcom.sun.management.jmxremote.sslfalse参数和上面一样就不解释了
导入环境变量后用命令重新加载配置文件source /etc/profile可以直接将export命令写入profile文件最后在加载文件便可以保持该环境变量一直生效。
切换到你服务器的jvm配置路径/usr/lib/jvm/…
拷贝jmxremote.password.template文件到jmxremote.pwssword
添加写入权限
然后对文件进行修改vim jmxremote.password
取消最后两行的注释保存退出。
java 11开启远程GC连接
vim jstatd-all.policy
配置 jstatd-all.policy
grant codebase jrt:/jdk.jstatd {permission java.security.AllPermission;
};
grant codebase jrt:/jdk.internal.jvmstat {permission java.security.AllPermission;
};给jstatd.all.policy文件 执行权限chmod 777 jstatd.all.policy.
运行命令./jstatd -J-Djava.security.policyjstatd.all.policy -J-Djava.rmi.server.hostname192.168.1.249参数说明
-J-Djava.security.policyjstatd.all.policy 号后面的是文件的绝对路径
-J-Djava.rmi.server.logCallstrue 打开日志,如果客户端有连接过来的请求,可以监控到,便于排错
-J-Djava.rmi.server.hostname192.168.1.xxx 指明本机 hostname 对应的本机地址,确保该地址可以给客户机访问。因为有的服务器 hostname 对应的 ip 不一定是外网能连上的最好在这里直接明确指定
-p 9999 指定服务的端口号默认是1099。可选参数。如果还连不上考虑防火墙拦截了端口firewall-cmd --list-all,查看一下并暴露对应端口 [rootlocalhost bin]# firewall-cmd --zonepublic --add-port8889/tcp --permanent
success
[rootlocalhost bin]# systemctl restart firewalld
[rootlocalhost bin]# firewall-cmd --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: eth0sources: services: dhcpv6-client sshports: 22/tcp 21/tcp 9092/tcp 3306/tcp 443/tcp 80/tcp 9093/tcp 6379/tcp 9200/tcp 9300/tcp 9094/tcp 8443/tcp 9527/tcp 9091/tcp 9530/tcp 8888/tcp 15672/tcp 5672/tcp 1099/tcp 23/tcp 8889/tcpprotocols: masquerade: noforward-ports: source-ports: icmp-blocks: rich rules: [rootlocalhost bin]# netstat -anlp|grep 8888 // 查看端口是否启动连接配置
启动服务查看对应的端口是否处于监听状态
netstat -apn | grep java 查看监听的端口VisualVm界面简介
VisualVM使用
采集GC信息的一些命令
JConsole, jstat, jinfo, jstack 和 jmap 这些独立的工具是 Java VisualVM 的一部分。Java VisualVM 通过结合使用这些工具来获取 JVM 的数据信息进行重新组织最后以图像的形式进行展示。另外用户可以通过插件扩展 Java VisualVM 的功能。
jps 虚拟机进程情况jps -l输出进程号和jar包名称
jstat 虚拟机运行数据jstat -gc pid监视堆的情况容量、已用空间、GC时长等jstat -gcutil pid和-gc差不多但主要关注已使用空间占总空间的比例可以后缀时间如jstatd -gcutil pid 5000则每5S输出一次
jmap 内存映射jmap -heap pid展示堆详细信息用了哪种回收器、参数配置、分代情况等jmap -dump:formatb,filexxx.hprof pid生成当前时刻堆快照
jstack 堆栈跟踪jstack pid生成当前时刻线程快照 threaddump
可以将信息输出到指定文件如jmap -hep pid /xxx/jmapHeap.txt垃圾回收器切换
Serial收集器(-XX:UseSerialGC -XX:UseSerialOldGC)
启用CMS: -XX:UseConcMarkSweepGC
Parallel Old启用-XX:UseParallelOldGC -XX:UseAdaptiveSizePolicy
UseParallelGC 新生代ParallelScavenge 老年代ParallelOld
UseParallelOldGC 同上
-UseParallelOldGC 新生代ParallelScavenge 老年代SerialOld改用并行垃圾回收器
-Xms1024m -Xmx1024m -XX:MetaspaceSize512m -XX:MaxMetaspaceSize512m
-XX:UseParallelOldGC -XX:UseParallelGC -XX:UseAdaptiveSizePolicy