解决Glassfish 3.1.2.2 Web服务内存泄漏问题
需积分: 0 10 浏览量
更新于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,以及如何通过这些工具来定位和分析内存问题。"
374 浏览量
2019-05-16 上传
133 浏览量
2022-08-08 上传
点击了解资源详情
点击了解资源详情
221 浏览量
2022-03-11 上传
2022-03-11 上传
今年也要加油呀
- 粉丝: 26
- 资源: 312
最新资源
- Sane time.:合理的自动时间跟踪。-开源
- 一个简单的图库项目
- Nik_Collection_4.0.7.0_Multilingualx64.rar
- netfil:一个内核网络管理器,具有针对macOS的监视和限制功能。 #nsacyber
- SCAN_tests
- 图像浏览器
- C# MQTTNET示例
- music_edit:DOS音乐编辑器-开源
- 海岸线工具_python_
- 机器学习经典二分类数据集——马疝病数据集.zip
- redalert:不断测试所有内容-触发故障警报
- SAM:SAM是专门为维也纳大学计算机科学学院服务器设计的多功能Discord Bot
- SAP SuccessFactors Only: Display Full Name-crx插件
- POS票据打印机.zip
- Android-Bazel-Starter-Kotlin
- APx500_4.5.1_w_dot_Net 音频分析仪软件 apx515 apx525