【视频笔记】线上JVM堆内存报警,占用超90%!hadoop statisticsData内存泄漏
0、背景,堆内存告警

告警:prometheus
1、触发一次fullgc后,老年代占比还是较高,说明确实有泄漏
触发命令:jcmd $pid GC.run
2、jstat -gcutil pid intervalTime

3、jmap查看堆内存中的对象分布情况
jmap -histo pid | head

4、用arthas查看 对象引用数量
vmtool --action getInstances --classLoaderClass org.springframework.boot.loader.LaunchedURLClassLoader --className org.apache.hadoop.fs.FileSystem$Statistics --express 'instances' -x 2

allData一直往里塞(threadlocal中没有数据时, thread可能是申请、释放, 即旧线程回收,又建新线程)





浙公网安备 33010602011771号