线上有个服务频繁gc导致机器挂了,看了下gc日志发现是频繁full gc,为了找到原因,dump了一下当时的内存状态,用mat分析了下,发现是有个内存队列占了97%的内存。
看了下代码:
发现是内存队列没有指定初始化大小
当内存队列数据出队远远慢于入队时,就会造成full gc频繁,甚至OOM,所以平时开发时要注意。
线上有个服务频繁gc导致机器挂了,看了下gc日志发现是频繁full gc,为了找到原因,dump了一下当时的内存状态,用mat分析了下,发现是有个内存队列占了97%的内存。
看了下代码:
当内存队列数据出队远远慢于入队时,就会造成full gc频繁,甚至OOM,所以平时开发时要注意。