永久代溢出(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栈内存溢出和堆溢出
五种内存溢出案例总结:涵盖栈深度溢出永久代内存溢出本地方法栈溢出JVM栈内存溢出和堆溢出