jmap查看Java进程对象使用情况:
使用jmap可以查看某个Java进程中每个对象有多少个实例,占用多少内存,
jmap -histo 进程id
第一列,序号,无实际意义
第二列,对象实例数量
第三列,对象实例占用总内存数,单位:字节
第四列,对象实例名称
最后一行,总实例数量与总内存占用数
jmap -dump:format=b,file=/filepath/heap.bin pid
导出内存详情文件,然后在jvisualvm.exe工具中 查看:
双击打开:
原因:这个字符串太长了,换句话说就是这个导致内存不够用的。
查看线程:
最终是sql查询错了,查的东西太多了导致内存里装不下了