今天同事说生产环境发生了fullGC,内存12G监控显示使用了快10G了,fullGC时候把dump文件给下载下来了,于是拿着fullGc 使用idea自带的工具分析。 发现idea自带的工具不太好用,只能显示一堆占用的char[] 和String【】,但是无法明确定位是什么原因。
其实拿到hprof文件后,使用JDK自带的jviualvm.exe这个工具即可,将hprof文件载入jvisualvm.exe中,选择 类 ,然后按照实力数或者大小排序。我这个主要是char【】占用了太多的内存,然后点开占用最大的char【】,点开后发现是一系列的 日志信息。每个占用7位数的bit数,大概2M左右。进一步排查代码,发现是大量的日志文件导致的。
进一年没上班了,重新找了一份外包的活,看能干多久吧。