7. JVM调优
1. JVM调优设计哪几方面:
- 合理的编写程序
- 充分并合理的使用硬件资源
- 合理的进行JVM调优
2. 需要关注的点:
2.1. 非堆内存:
- 堆外内存
- 文件句柄
- Socket句柄
- 数据库连接
2.2. 文件:
- 限制文件大小,最好采用异步方式(写sql语句最好使用limit限制,避免栈溢出)
2.3. 网络IO:
- 限流
2.4. 大对象:
对于JVM是一个噩梦。
避免使用大对象,如果使用尽量减少生存时间
3. JVM调优原则:
- 降低Full GC 频次,一天1-2次,尽量控制在晚上,可以选择重启服务器或者定时任务出发Full GC。
- 确保大多数对象“朝生夕死”
- 提高大对象的进入门槛(-XX:MaxTenuring=15)
4. 一段启动服务的执行脚本
java -server -XX:+UseParallelGC -XX:ParallelGCThreads=4 -XX:+PrintGCDetails -Xlog:gc:./logs/gc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./logs/dump.hprof -XX:MetaspaceSize=256M -XX:MaxMetaspaceSize=256M -Xms4096M -Xmx4096M -Dfile.encoding=UTF8 -jar ${jar_name} --spring.config.location=conf/bootstrap.yml > ${shl_path}/log.out 2>&1 &
作者:鱼鱼大头鱼
来源链接:https://blog.csdn.net/yang134679/article/details/94490648