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/