解决Glassfish 3.1.2.2 Web服务内存泄漏问题
需积分: 0 17 浏览量
更新于2024-08-04
收藏 415KB DOCX 举报
"这篇技术分享主要讨论了针对Glassfish 3.1.2.2版本中Web服务出现内存泄漏问题的解决方法。在服务器运行一段时间后,AP02服务器性能下降,内存消耗异常增大(其他服务器通常不超过1GB,而AP02可以达到近3GB)。为了诊断问题,可以通过`jps -l`列出Java进程,然后使用`grep -i asmain`筛选出Glassfish应用服务器进程。接着,利用`jmap`命令将堆内存转储到文件中,并使用内存分析工具进行分析。文章推荐使用Eclipse Memory Analyzer Tool (MAT)进行深度分析,MAT可以从Eclipse官方网站下载,也可以在指定网络路径找到解压后的版本。在使用MAT时,建议修改MemoryAnalyzer.ini配置文件,增加-Xmx3g参数以分配更多内存。
在启动MAT并加载AP02服务器的heap.hprof文件后,分析结果显示ManagedBeanManagerImpl占用了1.6GB中的1.2GB内存,这非常可疑。浅层大小(shallow size)表示实例自身占用的内存大小,而保留大小(retained size)则包括实例自身及其引用的所有对象的内存大小。由于 ManagedBeanManagerImpl 的浅层大小只有56B,但保留大小高达1.2GB,这表明存在大量的对象被引用。
通过查看Dominator Tree,发现ManagedBeanManagerImpl内部有大量的OrgUserService(Web服务)实例,这可能是内存泄漏的源头。进一步搜索谷歌,找到了一个与案例相符的解决方案,文章提到的主要内容是创建了一个dummy Web服务调用来解决这个问题,但具体实现细节没有给出。
这篇技术分享提供了针对Glassfish 3.1.2.2版本Web服务内存泄漏问题的诊断步骤和初步解决思路,涉及到的关键工具包括`jps`、`jmap`和Eclipse MAT,以及如何通过这些工具来定位和分析内存问题。"
2019-05-16 上传
2019-05-16 上传
2021-04-29 上传
2022-08-08 上传
点击了解资源详情
2014-03-21 上传
2022-03-11 上传
2022-03-11 上传
2021-06-07 上传
今年也要加油呀
- 粉丝: 26
- 资源: 312
最新资源
- MATLAB新功能:Multi-frame ViewRGB制作彩色图阴影
- XKCD Substitutions 3-crx插件:创新的网页文字替换工具
- Python实现8位等离子效果开源项目plasma.py解读
- 维护商店移动应用:基于PhoneGap的移动API应用
- Laravel-Admin的Redis Manager扩展使用教程
- Jekyll代理主题使用指南及文件结构解析
- cPanel中PHP多版本插件的安装与配置指南
- 深入探讨React和Typescript在Alias kopio游戏中的应用
- node.js OSC服务器实现:Gibber消息转换技术解析
- 体验最新升级版的mdbootstrap pro 6.1.0组件库
- 超市盘点过机系统实现与delphi应用
- Boogle: 探索 Python 编程的 Boggle 仿制品
- C++实现的Physics2D简易2D物理模拟
- 傅里叶级数在分数阶微分积分计算中的应用与实现
- Windows Phone与PhoneGap应用隔离存储文件访问方法
- iso8601-interval-recurrence:掌握ISO8601日期范围与重复间隔检查