求大神们分析一下jboss的内存出了什么问题?
一台jboss 5.2.3部署了一个Java web应用。昨天(2012-07-26)访问时发现奇慢,用
jstat -histo <pid>
分析GC发现,平均每隔30秒执行一次full GC,平均一次Full GC用时5~7s。 用
jmap -heap <pid>查看堆内存分配情况,Eden Space 678MB几乎用完, PS Old Generation 1365MB也几乎用完。 于是小弟用
jmap -dump:format=b,file=liferay.dump <pid>
将JVM的堆内存给dump出来,然后用Eclipse Memory Analyzer进行分析,以下是分析结果:
、
jboss重启后, Eden Space 670MB 有545MB空闲,PS Old Generation 1365MB中有 818MB空闲。重新dump出内存进行分析,分析结果如下:
JVM参数: -Xms2048m -Xmx2048m -XX:MaxPermSize=512m
jboss运行在集群模式(我根据这篇文章http://my.oschina.net/aiguozhe/blog/41509进行配置)
apache作为前端反向代理服务器,转发http请求(但对静态资源的请求不会转发到jboss), apache和jboss之间采用ajp协议进行连接.
根据Apache访问日志的记录,2012-07-24 这天共收到314424个Http请求, 前天(2012-07-25)共收到135372个Http请求, 昨天(2012-0726)共收到 135372个Http请求。
我的问题是:
1) jbosss的ajp线程为啥没有释放?
2)remainder部分是什么? 为啥Eclipse Memory Analyzer没有分析出来?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
这个问题后来被不鸟鸟之了
remainder部分是什么? 楼主知道答案了么。