天天看点

JVM常用参数设置服务崩溃日志堆转储日志(防止出现偶发的内存溢出会缺少排查问题的途径)使用ipv4 解决host-dns的ipv6设置不正常导致服务对外请求间歇性卡顿或超时,比如访问微信接口超时linux服务必加,避免jvm底层随机策略因系统随机值不足造成服务卡顿(比如访问微信接口也会触发生成随机参数,DNA的GUID生成等都会卡顿)调试端口开启飞行记录JVM 内存优化参数之自动拆装箱优化JVM 内存优化参数之异常避免快速抛出(加参数是避免空指针等异常无堆栈排查)JVM G1等相关调优参数,超大堆应用可加

内存设置

-Xmx10880M

-Xms10880M

meta区设置固定512即可(MAX设置可能造成FULLGC)

-XX:MaxMetaspaceSize=512M

-XX:MetaspaceSize=512M

java8以后大于4G内存使用G1

-XX:+UseG1GC

-XX:+ParallelRefProcEnabled

打印GC

-XX:+PrintGCDetails

-XX:+PrintGCDateStamps

-Xloggc:log/gc.log

服务崩溃日志

-XX:ErrorFile=log/hs_err_pid%p.log

堆转储日志(防止出现偶发的内存溢出会缺少排查问题的途径)

-XX:HeapDumpPath=log

-XX:+HeapDumpOnOutOfMemoryError

使用ipv4 解决host-dns的ipv6设置不正常导致服务对外请求间歇性卡顿或超时,比如访问微信接口超时

-Djava.net.preferIPv4Stack=true

linux服务必加,避免jvm底层随机策略因系统随机值不足造成服务卡顿(比如访问微信接口也会触发生成随机参数,DNA的GUID生成等都会卡顿)

-Djava.security.egd=file:/dev/./urandom

调试端口

-Xrunjdwp:transport=dt_socket,server=y,address=8011,suspend=n

开启飞行记录

-XX:+UnlockCommercialFeatures -XX:+FlightRecorder

JVM 内存优化参数之自动拆装箱优化

-XX:AutoBoxCacheMax=20000

JVM 内存优化参数之异常避免快速抛出(加参数是避免空指针等异常无堆栈排查)

-XX:-OmitStackTraceInFastThrow

JVM G1等相关调优参数,超大堆应用可加

-XX:GCTimeRatio=4

-XX:ConcGCThreads=16

-XX:+DisableExplicitGC

-XX:ObjectAlignmentInBytes=16

-XX:+UseCompressedOops

-XX:G1HeapRegionSize=32m

-XX:MaxGCPauseMillis=4000