jvm 参数如下:
-server -Xms12g -Xmx12g -Xmn5g -XX:MaxNewSize=1024m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+CMSParallelRemarkEnabled -XX:+PrintGCDetails -XX:+PrintGCDateStamps -verbose:gc -Xloggc:./minigc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./dump.log -XX:ErrorFile=./jvm-crash.log
机器的配置:
阿里云机器 1 个 slb 后面挂了 8 台机器 每个机器的配置都是 16G 内存
线上的 gc 情况:
YGC 的话平均一次 15.79ms
FGC 的话也不是很频繁 一小时一次吧, 每次的时间也是 ms 级别
问题:
高峰期的时候,qps 大概是 3000-4000 左右吧
高峰的时候发现虽然我设置了 12G 但是只能用到 6G 就到头了,内存再也涨不上去了。但是前台用户那里的话发现会出现有卡顿的情况. 然后发现 cpu 和内存的利用率都处在比较低的水平上。这种是啥原因呢?
-server -Xms12g -Xmx12g -Xmn5g -XX:MaxNewSize=1024m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:+DisableExplicitGC -XX:+CMSParallelRemarkEnabled -XX:+PrintGCDetails -XX:+PrintGCDateStamps -verbose:gc -Xloggc:./minigc.log -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=./dump.log -XX:ErrorFile=./jvm-crash.log
机器的配置:
阿里云机器 1 个 slb 后面挂了 8 台机器 每个机器的配置都是 16G 内存
线上的 gc 情况:
YGC 的话平均一次 15.79ms
FGC 的话也不是很频繁 一小时一次吧, 每次的时间也是 ms 级别
问题:
高峰期的时候,qps 大概是 3000-4000 左右吧
高峰的时候发现虽然我设置了 12G 但是只能用到 6G 就到头了,内存再也涨不上去了。但是前台用户那里的话发现会出现有卡顿的情况. 然后发现 cpu 和内存的利用率都处在比较低的水平上。这种是啥原因呢?