在巡检的时候突然发现现网某业务使用内存大约6G,问题是我们配置的-Xmx=2G,metaspace没配置,从GC日志看
第一次提交的最大metaspace为1G,假设都使用了,堆外内存最小也有3G了
定位步骤
1.查看/proc/${pid}/smaps文件(pmap命令也类似)
发现20来个65536KB的块
而且连续观察到64M块和内存增长量也符合,搜到案例 http://blog.11034.org/2016-09/64bits_linux_arena_memory.html ,预计可以解决;
2.那么这些65536的块里内容是啥呢?
现网业务暂时还没挂,缓慢增长中,看测试环境有类似问题,果断core一个文件下来看看
gdb后
attach xxx
gcore core.xxx
detach
然后就生成了core.xxx文件,然后 gdb -core core.xxx ,
x/1000s 0x7f75b0000000 (其中7f75b0000000为smap中的起始地址)