生产环境用gc日志导入下两个当中的一个分析
MAT
JProfiler
不要用jmap会导致线上服务卡住。
常见的java内存泄露
1 list不断增加
2 new了很多线程 native内存满了
3 nio 内存爆了 (Unsafe没设计好)
4 System.gc()
5 finalize() 大量重写
6 jira 源码有问题(调整垃圾回收器为g1 并且扩大内存)
7 分库分表 跨服务器查询 join出来的数据太多。 或者查询服务超时 重试 不断的添加到内存导致内存不够
8 disruptor :环形 RingBuffer 设计结构, 被覆盖的数据才会成为回收对象
9 old 区 百分之十 就fullgc了 大对象。