JVM参数及调优
调优基本概念
常用JVM参数
demo
新建一个spring-boot工程,有一个启动类
1 | package com.study.performance; |
mvn clean package命令或者下图的方式打包成performance-1.0.0.jar包在target目录下
scp /Users/wanyajing/Downloads/高级java程序员/专题一/Downloads/subject-1-master/chapter-3/target/performance-1.1.0.jar root@10.1.27.112:/opt/logs/jetty/ ———— 上传jar包到服务器上
java -Xmx1024m -jar performance-1.1.0.jar ———— 指定最大堆大小运行程序
GC调优思路
通用GC参数
收集GC日志(日志离线分析,主要用于检查故障看出是不是因为GC导致的程序卡顿)
不建议直接输出 java -Xmx1024m -XX:+PrintGCDetails -XX:+PrintGCTimeStamps -jar performance-1.0.0.jar
java -Xmx1024m -Xloggc:/opt/logs/jetty/gc1.log -jar performance-1.1.0.jar 启动
scp root@10.1.27.112:/opt/logs/jetty/gc1.log ~/Desktop ——— 下载gc1.log到本地
分析GC日志()
GCViewer工具,辅助分析GC日志文件 https://github.com/chewiebug/GCViewer
打开工具页面,将log文件拖入
这样就能看见fullgc次数 时间 最大暂停时间 等等信息
也可通过jstat实时查看gc情况 ——— jstat -gc -h10 18101 1000
上面命令的简化版
具体参数调优过程参考本机的文章 JVM调优笔记.html
参考文档 https://docs.oracle.com/javase/8/docs/technotes/guides/vm/gctuning/