【视频笔记】线上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可能是申请、释放, 即旧线程回收,又建新线程)

 

 

 

 

 参考:线上JVM堆内存报警,占用超90%!_哔哩哔哩_bilibili

posted @ 2025-05-08 20:46  fanblog  阅读(58)  评论(0)    收藏  举报