2回复
1年前
JVM内存old区和eden区使用率100%却不抛内存溢出
环境:JDK1.6.0_45 HotSpot
JVM参数化:
-Xms8192m -Xmx8192m -XX:MaxPermSize=1024m -XX:-UseGCOverheadLimit -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/app/logs/dump/ -XX:+PrintGCDetails
:+PrintGCDateStamps -Xloggc:./gc/$$.gc.log
现象:
线上一个应用高峰期会卡顿,使用jstat查看JVM内存使用和GC情况发现eden区和old区使用100,且Full GC后eden区和old区使用扔然100,此时应用节点扔然在负载上,但不抛内存溢出的错误。求大佬解释。
如下图:
3637 阅读
基本是下面两种情况之一
1. 如果你的系统没有任何请求,可能没有分配内存的情况,那不会抛异常
2. 确实抛了OOM的异常,但是被try/catch了