首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Java进程(非堆)内存泄漏

Java进程(非堆)内存泄漏
EN

Stack Overflow用户
提问于 2014-05-14 15:36:35
回答 1查看 2.5K关注 0票数 1

问题描述:我们在web应用程序(在CQ5上)中面临以下问题:

系统配置详细信息:·系统内存: 7GB·Xmx: 3.5GB·Xms: 1GB·MaxPermGen: 300 GB·Max : 620 (包括300个http请求服务线程)·Xss:默认

问题是,cq5 java进程(运行servlet引擎)消耗的内存随着时间的推移而不断增加。一旦它超过6到6.5GB(系统内存达到7GB),JVM就停止响应。(由于内存不足和大量分页活动)。然而,堆和permgen仍然保持在或低于3.8 (3.5+0.3) GB。这意味着非堆内存(本机内存+线程堆栈空间)从几个100 MBs ( CQ5服务器重新启动后)增长到超过2-3 GBs (在负载较重的情况下长时间运行4-5小时后)。因此,我们的目标基本上是找出非堆内存中的内存泄漏,这可能是由于第三方库、代码的间接引用等原因造成的。我们没有收到任何内存外的错误.

需要帮助:

  • 现在,我们使用的大多数工具都为我们提供了有关堆内存的良好信息和详细信息。但我们无法查看本机内存。请求就如何监视非堆内存详细信息(在对象级别或内存区域级别)提供有价值的建议。
  • 如果您中的任何人在任何应用程序中都遇到过类似的问题(非堆内存泄漏),并且希望共享如何修复非堆内存泄漏的知识,请您分享您的经验。
EN

回答 1

Stack Overflow用户

发布于 2014-05-15 21:14:28

这实际上取决于您的具体实现:部署了什么代码、使用了什么基础设施、正在运行的版本、使用的应用服务器(如果有的话)等等。

尽管如此,我在CQ5.5和Image中遇到了内存泄漏问题。实际上,这是一个Java库中的内存泄漏,该库为Image提供了动力,一直隐藏在幕后。它是通过Java版本更新来补救的,但它是由Image造成的。很可能这是你的问题,但可能值得一提。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23659178

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档