Caffeine缓存与JVM UseAdaptiveSizePolicy参数
Contents
问题
线上 RTB 项目的 JVM 参数
JVM_PARALLEL_OPTIONS=" -Xmx960M -Xms960M -Xmn320M -XX:MaxMetaspaceSize=128M -XX:MetaspaceSize=128M -XX:+UseAdaptiveSizePolicy -XX:MaxGCPauseMillis=50 -XX:+UseParallelGC -XX:AdaptiveSizePolicyOutputInterval=1 "
今天使用 Caffeine 缓存来替换 Guava Cache . 更新后, 发现 CPU 使用率上到 200% + . 看了下 GC 日志. mirror GC 变得非常频繁. 发现是JVM自动调整策略不断在吞吐和减低内存占用平衡之间切换.
解决
关闭自动调整算法就稳定了. CPU 使用率也在 50% 左右. 即
-XX:+UseAdaptiveSizePolicy => -XX:-UseAdaptiveSizePolicy