permgrn space
时间: 2024-06-02 22:13:06 浏览: 96
解决Java_heap_space问题
4星 · 用户满意度95%
PermGen Space(永久代空间)是Java虚拟机中用于存储类信息、常量池、方法等元数据的内存区域。在JDK1.8之前,PermGen Space是Java虚拟机中的一块固定大小的内存区域,它的大小可以通过设置JVM参数“-XX:PermSize”和“-XX:MaxPermSize”来调整。
在JDK1.8之后,PermGen Space被移除,取而代之的是Metaspace(元空间)。Metaspace是一个动态大小的内存区域,它的大小不再受到固定限制,而是由操作系统的内存大小和实际使用情况来决定。需要注意的是,使用Metaspace时,JVM参数“-XX:PermSize”和“-XX:MaxPermSize”已经失效,取而代之的是“-XX:MetaspaceSize”和“-XX:MaxMetaspaceSize”参数。
如果程序中使用了大量的反射、动态代理等特性,会导致Metaspace内存占用过高,从而导致OutOfMemoryError。此时需要适当增加JVM的Metaspace大小,或者优化程序中的代码,减少对Metaspace的占用。
阅读全文