我们有运行在linux虚拟机上的Jboss EAP 5实例,每个操作系统内存为10 is。java版本"1.6.0_20“。
JBoss被配置为使用4 GB的堆,但是Java进程的内存占用比jvm堆要高得多。Java进程的内存使用量会缓慢上升,而且永远不会下降。
我们已经分析了堆转储,除了下面的问题:“"org.jboss.bootstrap.NoAnnotationURLClassLoader @0x6e8000b50加载的85,059个"org.jboss.virtual.plugins.context.zip.CertificateReaderInputStream",实例占用了452.29 MB (34.22%)字节。”
此外,从GC日志中可以看出,堆并不是很满,只占用了大约2.5 GB的内存,因此甚至还没有接近4 GB的内存。看起来像是本机内存泄漏,但如何调试和识别导致此问题的对象/代码片段
下面是jboss的配置:
-Dsun.rmi.dgc.client.gcInterval=3600000
-XX:+PrintClassHistogram
-XX:+UseConcMarkSweepGC
-XX:+UseParNewGC
-XX:-DisableExplicitGC
-XX:-RelaxAccessControlCheck
-XX:CMSInitiatingOccupancyFraction=80
-XX:LargePageSizeInBytes=5m
-XX:MaxNewSize=128m
-XX:MaxPermSize=512m
-XX:MaxTenuringThreshold=0
-XX:NewSize=128m
-XX:ParallelGCThreads=10
-XX:SurvivorRatio=8
-XX:TargetSurvivorRatio=90
-XX:ThreadStackSize=1024
-Xloggc:/opt/www/logs/jboss/garbagecollector.log
-Xms4096m
-Xmx4096m
-javaagent:/opt/appdynamics/Appagent/javaagent.jar发布于 2017-09-26 22:25:19
您可以使用解压缩的部署。或者使用JVM选项"-Djboss.vfs.forceVfsJar=true“禁用内部压缩。此问题的根本原因是JDK错误。
https://stackoverflow.com/questions/42424625
复制相似问题