介绍Metaspacejava8及以后的版本使用Metaspace来代替永久代,Metaspace是方法区在HotSpot中的实现,它与持久代最大区别在于,Metaspace并不在虚拟机内存中而是使用本地内存也就是在JDK8中,classemetadata(thevirtualmachinesinternalpresentationofJavaclass),被存储在叫做Metaspace的nativememory.永久代(java8后被元空间Metaspace取代了)存放了以下信息:虚拟机加载的类信息常量池静态变量即时编译后的代...
继续阅读 >
分类:Metaspace
2020
11-16
11-16
JVM Metaspace内存溢出问题解决方案
一.现象前段时间公司线上环境的一个Java应用因为OOM的异常报警,导致整个服务不可用被拉出集群,本地模拟重现的现象如下:当时的解决方案是增加metaspace的容量:-XX:MaxMetaspaceSize=500m,从原来默认的256m改为500m,虽然没有再出现oom,但这个只是临时解决方案,通过公司的监控系统观察metaspace的使用情况还是在上升,而且后面随着业务访问量越来越大还是有可能达到阈值。二.分析Metaspace元空间主要是存储类的元数据信息,...
继续阅读 >