linux JVM内存分析(二) 实战JVM调优

  • 查找tomcat进程号(本文的tomcat进程号是21069,下面不会再重复)

输入命令:ps -ef|grep tomcatapache

  • 使用jmap来查看jvm的堆的快照

输入命令:jmap -histo 21069 | moretomcat

从上面图中能够观察到apache的包占用太多,能够看到sheettml,这个能够猜想出是excel的问题,而后联想到系统有excel导入的功能,最好检查了一下代码,发现代码中的Workbook没有关闭jvm

而后绿色代码进行修复,spa

而后继续排查其余的代码excel

图中能够看到EmployeeRate这个对象有75997个实例,占用了9119640的内存对象

最后发现定时器中,这个类的对象使用比较多,每次new出来的对象没有主动去释放,因此须要业务逻辑处理完以后,手动释放blog

相关文章
相关标签/搜索