jvm相关参数设置

-Djava.library.path=/usr/local/lib -server -Xms4g -Xmx4g -XX:ParallelGCThreads=4 -XX:+UseConcMarkSweepGC -XX:MaxDirectMemorySize=2.5g -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/Logs -Xloggc:/export/Logs/gc.log -XX:+PrintGCDateStamps -XX:+PrintGCDetails

 

1、指定为server模式
2、xms 与 xmx的配置 容器内存50%--80% 两者值一样
3、线程数(191版本之上不用配置) 并行gc线程数ParallelGCThreads(和容器核数保持一致) 并发gc线程数ConcGCThreads(容器核数/2) 即时编译线程数 XX:CICompilerCount(容器核数)
4、最大对外内存 MaxDirectMemorySize 未设置该值时 可以会触发内存溢出,设置该值后 当达到该值时会触发fullgc 来进行堆外内存回收
https://juejin.cn/post/7115787649910046750
Xmx * 110% + MaxDirectMemorySize + 系统预留内存 <= 容器内存
Xmx * 110% 中额外的10%是留给其他堆外内存的,是个保守估计,个别业务运行时线程较多,需自行判断,上式中左侧还需加上Xss * 线程数
系统预留内存512M到1G,视容器规格而定
I/O较多的业务适当提高MaxDirectMemorySize比例

5、日志:
-Xloggc:/export/Logs/gc.log
-XX:+PrintGCDateStamps
-XX:+PrintGCDetails

-XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/export/Logs

posted on 2022-12-06 19:42  努力学习的菜鸡  阅读(47)  评论(0编辑  收藏  举报

导航