永久代溢出(java.lang.OutOfMemoryError: PermGen space )

Posted chinano1

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了永久代溢出(java.lang.OutOfMemoryError: PermGen space )相关的知识,希望对你有一定的参考价值。

jstat命令简介:

Jstat是JDK自带的一个轻量级小工具。全称“Java Virtual Machine statistics monitoring tool”,它位于java的bin目录下,主要利用JVM内建的指令对Java应用程序的资源和性能进行实时的命令行的监控,包括了对Heap size和垃圾回收状况的监控。可见,Jstat是轻量级的、专门针对JVM的工具,非常适用。详见https://www.cnblogs.com/myna/p/7567769.html

技术分享图片

调整前,可以看到永久代的占用率已经达到百分之九九点多,几乎全部占满;

进入tomcat下的bin目录,使用vim命令打开catalina.sh,写入JAVA_OPTS=" -XX:PermSize=256m -XX:MaxPermSize=512m"后,保存退出,然后重启tomcat再次执行Jstat

-XX:PermSize:设置持久代内存大小

-XX:MaxPermSize:设置最大值持久代内存大小,永久代不属于堆内存,堆内存只包含新生代和老年代。

技术分享图片

可以看到永久代的使用率已经降下来了

注:操作中,要根据实际情况适当调整参数

 

以上是关于永久代溢出(java.lang.OutOfMemoryError: PermGen space )的主要内容,如果未能解决你的问题,请参考以下文章

JVM记一次PermGen space内存溢出实战案例

五种内存溢出案例总结:涵盖栈深度溢出永久代内存溢出本地方法栈溢出JVM栈内存溢出和堆溢出

五种内存溢出案例总结:涵盖栈深度溢出永久代内存溢出本地方法栈溢出JVM栈内存溢出和堆溢出

永久代溢出(java.lang.OutOfMemoryError: PermGen space )

Jmeter(四十三)_合理分配堆内存

JVM内存分区和各分区溢出测试