首页 文章

完整的GC,PSPermGen没有清理

提问于
浏览
0

我的Java EE服务器运行良好,然后在10分钟内完全gc开始更频繁地发生,然后最终由于GC而一直停止 . PSPermGen尚未发布 .

我的JVM设置是:

设置JAVA_OPTS =%JAVA_OPTS%-Xms4g -Xmx4g -XX:MaxPermSize = 512m -XX:NewRatio = 3

2012-09-05T14:03:10.394 0100:94287.753:[Full GC [PSYoungGen:843584K-> 0K(947200K)] [ParOldGen:3077347K-> 3117145K(3145728K)] 3920931K-> 3117145K(4092928K)[PSPermGen:181533K - > 181521K(186944K)],10.9564398 secs] [次:user = 286.14 sys = 0.19,real = 10.97 secs]应用程序线程停止的总时间:10.9678339秒应用程序时间:0.0023102秒应用程序线程停止的总时间:0.0088344秒应用时间:0.3052301秒应用程序线程停止的总时间:0.0085634秒应用时间:0.1125068秒2012-09-05T14:03:21.798 0100:94299.158:[Full GC [PSYoungGen:842024K-> 22409K(947200K) ] [ParOldGen:3117145K-> 3145232K(3145728K)] 3959170K-> 3167641K(4092928K)[PSPermGen:181521K-> 181521K(186752K)],11.4649901 secs] [次:用户= 372.58 sys = 0.11,real = 11.47 secs]总计应用程序线程停止的时间:11.4757898秒应用程序时间:0.0706553秒应用程序thr的总时间eads被停止:0.0102510秒申请时间:0.3951514秒2012-09-05T14:03:33.748 0100:94311.110:[Full GC [PSYoungGen:843584K-> 34503K(947200K)] [ParOldGen:3145232K-> 3141687K(3145728K)] 3988816K - > 3176190K(4092928K)[PSPermGen:181521K-> 181521K(186112K)],10.9699419 secs] [次:user = 369.43 sys = 0.14,real = 10.97 secs]应用程序线程停止的总时间:10.9806713秒应用程序时间: 0.0027075秒

任何线索可能是什么原因?内存泄漏或JVM可以更好地调整?

1 回答

  • 0

    从日志开始,很少有事情是清楚的 . 要么系统真正需要太多内存,要么无法清除终身产生,导致3.1GB的持续消耗 . 这部分只有你可以回答 . 或者有内存泄漏 . 内存泄漏可能/不可能,因为使用的油源空间恒定在3.145GB左右 . 内存泄漏通常会增加 . 可能更多的日志可以帮助 . 如果这个因素随着时间的推移而增加,那么请放心 - 泄漏 . 如果是常量,则应用程序真正缺少所需的内存 .

相关问题