JVM调优实战二

目录

1. arthas工具下载

 2. Arthas调试程序

3. 查看GC日志


1. arthas工具下载

arthas是阿里提供的一种命令行工具专门用于JVM调优,线上无法打开jvisualvm工具等,可以使用arthas快速定位JVM问题原因。

arthas官网传送门!!!

wget -help #测试是否安装wget
yum -y install wget #安装wget,如果已经安装过的就不用安装
wget https://arthas.aliyun.com/arthas-boot.jar #下载arthas-boot.jar
jar -jar arthas-boot.jar #启动arthas,如果有启动的java进程,就可以选择数字查看
1 #选择java进程

 JVM调优实战二

 2. Arthas调试程序

arthas官网命令传送门!!!

大概过一下就行了,有什么忘了得直接去官网查看!

dashboard #查看进程运行情况,Thread-线程,Memory-jvm堆使用情况,Runtime-运行时环境变量信息
thread 8 #查看线程堆栈
thread -b #查看线程死锁
jad com.jvm.Arthas #反编译线上代码用于查看线上代码是否布置上
ognl @com.jvm.Arthas@hashSet #查看线上类中变量的值
ognl '@com.jv.Arthas@hashSet.add("test123")' #修改线上类中变量的值,一般要技术总监级别人员才可操作
cls #清空当前界面

3. 查看GC日志

在查看GC日志时,日志量太多,需要借助一下查看GC日志得工具,目前好用得GCeasy网站,直接将你的GC日志upload到官网即可!但是现在需要收费,大体情况还是可以查看得,如果公司有钱也可以使用它得付费功能,能根据算法调优你的JVM参数给出合理建议!只需要傻瓜式调优即可!

GCEasy官网传送门!!!!

java -jar -Xloggc:./gc-%t.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintGCCause -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M microservice-eureka-server.jar #启动jar包

 java -jar -Xloggc:./gc-%t.log -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+PrintGCCause -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M microservice-eureka-server.jar #启动jar包加入初始元空间大小和最大元空间大小 -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M

#CMS程序启动参数
-Xloggc:./gc-cms-%t.log
-Xms50M
-Xmx50M
-XX:MetaspaceSize=256M
-XX:MaxMetaspaceSize=256M
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps
-XX:+PrintGCCause
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=10
-XX:GCLogFileSize=100M
-XX:+UseParNewGC
-XX:+UseConcMarkSweepGC

#G1程序启动参数
-Xloggc:./gc-g1-%t.log
-Xms50M
-Xmx50M
-XX:MetaspaceSize=256M
-XX:MaxMetaspaceSize=256M
-XX:+PrintGCDetails
-XX:+PrintGCDateStamps
-XX:+PrintGCTimeStamps
-XX:+PrintGCCause
-XX:+UseGCLogFileRotation
-XX:NumberOfGCLogFiles=10
-XX:GCLogFileSize=100M
-XX:+UseG1GC

java -XX:+PrintFlagsInitial #打印参数默认值
java -XX:+PrintFlagsFinal #打印参数生效值

JVM调优实战二

 JVM调优实战二

 JVM调优实战二

 

上一篇:centos6.x使用dd命令制作u盘启动


下一篇:Android基础知识总结