返回信息流生产上机器OOM了,是因为Perm区满了,fullgc无法回收,查看了一下都是com.sun.xml.ws.client.WSService$DelegatingLoader加载的com.sun.proxy.$Proxy类,原因可能是使用java自己的webservice时没有用单例,导致每次都加载一个动态代理,但是代码一直没动过,只是最近打了一个weblogic补丁。
jdk版本是1.7.0.80,回收参数也都加了,就是不回收,但是在visualvm上点一下垃圾回收,就可以回收了。
有没有大神遇到过这样的问题,真是奇了怪了。
-XX:+ExplicitGCInvokesConcurrent
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=60
-XX:+UseParNewGC
-XX:+CMSParalledlRemarkEnabled
-XX:+UseCMSCompactAtFullCollection
-XX:+CMSFullGCsBeforeCompaction=0
-XX:+CMSCLassUnloadingEnabled
-XX:MaxTenuringThreshold=18
-XX:+UseCMSInitialtingOccupancyOnly
-XX:SurvivorRatio=4
-XX:ParallecGCThreads=16
这是一条镜像帖。来源:北邮人论坛 / java / #65137同步于 2021/4/17
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Java机器人发帖
FullGC不能回收permgen,但是在VisualVM上点击垃圾回收却可以
docker123
2021/4/17镜像同步7 回复
订阅后,新回复会通过你的通知中心匿名送达。
7 条回复
一个年轻代,一个老年代吧
【 在 nuanyangyang 的大作中提到: 】
: -XX:+UseConcMarkSweepGC
: -XX:+UseParNewGC
: 所以你到底要什么GC?
这俩应该不冲突,一直这么用的。暖神可能专注于理论研究,离工程界比较远了,谢谢回复
【 在 nuanyangyang 的大作中提到: 】
: -XX:+UseConcMarkSweepGC
: -XX:+UseParNewGC
: 所以你到底要什么GC?
但是代码一直没动过,只是最近打了一个weblogic补丁。
破案了,因为安全的人在attach了一个agent,用于扫描内存木马,把类都引用了,导致类无法卸载。挂agent也没通知。
这叫代码没动过。。。
我说的没动过是我们知道的范围内没动过
【 在 xiaoxiaohai (FreakingOut) 的大作中提到: 】
: 但是代码一直没动过,只是最近打了一个weblogic补丁。
: 破案了,因为安全的人在attach了一个agent,用于扫描内存木马,把类都引用了,导致类无法卸载。挂agent也没通知。
: ...................