博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
linux JVM内存分析(二) 实战JVM调优
阅读量:6836 次
发布时间:2019-06-26

本文共 390 字,大约阅读时间需要 1 分钟。

hot3.png

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

输入命令:ps -ef|grep tomcat

cf49c38f7ab3f7be3872b6ab2960713292e.jpg

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

输入命令:jmap -histo 21069 | more

b71eed693f71181f80c7bc80d1bb0c01501.jpg

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

f82c3043a79500122bc4fae3852611c2520.jpg

然后绿色代码进行修复,

然后继续排查其他的代码

3ae0dbaa41f35926f6e12725e9cbbca71cd.jpg

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

cb38a68756a49b5646d73643bcb91d2acc2.jpg

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

f50ac7b518bcf91e160615c683241286dd5.jpg

 

 

转载于:https://my.oschina.net/u/3552299/blog/3057778

你可能感兴趣的文章
CF240E Road Repairs
查看>>
通用类 BarCode 生成Code128A,Code128B,Code128C,EAN128条码
查看>>
Linux netstat命令详解
查看>>
似然函数的概念
查看>>
Oracle 游标 Cursor 的总结1
查看>>
写博客的思考
查看>>
SMON功能(一):清理临时段
查看>>
JavaScript简单的例子
查看>>
log4j配置,输出sql到控制台
查看>>
app后端设计-- 数据库分表
查看>>
Bzoj5019: [Snoi2017]遗失的答案
查看>>
hdu2819Swap 匈牙利算法
查看>>
python基础五--dict
查看>>
蓝桥杯-练习题(1000-1030)
查看>>
权限的概述+系统权限+对象权限
查看>>
python中,获取字符串的长度
查看>>
使用 git 进行项目管理(只管理代码,不管理项目配置)
查看>>
深入剖析tomcat之一个简单的servlet容器
查看>>
泛型的原理、应用、约束、缓存
查看>>
CentOS 搭建dns服务器 解析任意域名
查看>>