Tag: 的元空间

java8“java.lang.OutOfMemoryError:Metaspace”

在将我们的Java应用程序(在Tomcat上运行的服务)JRE从Java 7切换到Java 8之后,我们开始在运行高流量的几天后看到java.lang.OutOfMemoryError: Metaspace 。 堆使用没问题。 在性能测试期间执行相同的代码流之后,元空间会跳转。 可能导致元空间内存问题的原因是什么? 目前的设置是: -server -Xms8g -Xmx8g -XX:MaxMetaspaceSize=3200m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:MaxGCPauseMillis=1000 -XX:+DisableExplicitGC -XX:+PrintGCDetails -XX:-UseAdaptiveSizePolicy -XX:SurvivorRatio=7 -XX:NewSize=5004m -XX:MaxNewSize=5004m -XX:MaxTenuringThreshold=12 -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -XX:+PrintFlagsFinal -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCCause -XX:+PrintAdaptiveSizePolicy -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=3 -XX:GCLogFileSize=200M 该应用程序也大量使用reflection。 我们还使用自定义类加载器。 所有这些都在java 7中运行良好。