当前位置: 首页 > 编程笔记 >

解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题

华升
2023-03-14
本文向大家介绍解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题,包括了解决Eclipse Tomcat OutOfMemoryError:PermGen space的问题的使用技巧和注意事项,需要的朋友参考一下

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space。从文字上看就是内存溢出,解决方法是加大内存。为什么会内存溢出,这是由于这块内存主要是被JVM存放Class和Meta信息的,Class在被Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主程序运行期对PermGen space进行清理,所以如果你的APP会LOAD很多CLASS的话,就很可能出现PermGen space错误。这种错误常见在web服务器对JSP进行pre compile的时候。如果你的WEB APP下都用了大量的第三方jar, 其大小超过了jvm默认的大小(4M)那么就会产生此错误信息了。

问题背景:

Tomcat启动了太多的项目,或者有的项目引用了太多的jar包,或者反射生成了太多的类,异或有太多的常量池,就有可能会报java.lang.OutOfMemoryError: PermGen space的错误,我们知道可以通过jvm参数 -XX:MaxPermSize=256m来配置这部分堆内存的大小。 

eclipse中如何配置tomcat的内存大小呢?

手动设置MaxPermSize大小

首先需要双击tomcat server,如下图所示:

双击上图后会出现,tomcat配置的界面:

然后再点击上图的,红色矩形框的链接,会弹出tomcat参数配置的节面,要选择Arguments参数框:

如上图在VM arguments文本框内设置 -XX:MaxPermSize=256m的值即可, 当然此处还可以添加其他jvm参数,比如最大内存,最小内存等。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对小牛知识库的支持。如果你想了解更多相关内容请查看下面相关链接

 类似资料:
  • 我们已经探索了 Python 语言中的许多部分,现在我们将通过设计并编写一款程序来了解如何把这些部分组合到一起。这些程序一定是能做到一些有用的事情。这其中的方法就是去学习如何靠你自己来编写一份 Python 脚本。 问题 我们希望解决的问题如下: 我想要一款程序来备份我所有的重要文件。 虽然这是一个简单的问题,但是其中并没有足够的信息有助于让我们开始规划一份解决方案。我们需要进行一些分析(Anal

  • 本文向大家介绍解决pyshp UnicodeDecodeError的问题,包括了解决pyshp UnicodeDecodeError的问题的使用技巧和注意事项,需要的朋友参考一下 用最新版本(2.1.0)的pyshp解析shp文件的records时: 如果records里面含有中文字段,那么就会报错: 这个是编解码的问题,解决方法是把版本降到1.2.12就可以了,虽然records里面的中文字段还

  • 主要内容:1.业务,2.策略模式,3.Map+函数式接口,4.总结1.业务 根据业务去写代码 1.if-else 2.switch 由于 整个 if-else的代码有很多行,也不方便修改,可维护性低。 个方法的代码可就太长了,影响了可读性。 2.策略模式 策略模式是把 if语句里面的逻辑抽出来写成一个类,如果要修改某个逻辑的话,仅修改一个具体的实现类的逻辑即可,可维护性会好不少。 以下是策略模式的具体结构 不过策略模式业务代码还是if-else,不过维护好一点了

  • 我对决议有意见。我开发了Java Swing应用程序(桌面应用程序),它运行良好,但当我开始在不同的笔记本或桌面系统中使用该应用程序时,问题就来了,因为每个系统都有自己的分辨率,因此JFrame上的组件越来越小,最大的问题来了,当我开始在4K分辨率系统中使用该应用程序时,您看不到任何东西,因为JFrame上的所有东西都变得太小,您将无法读取任何东西。我们对此有什么解决办法吗?

  • 我们已经探索过了Python语言的各种部分,现在我们通过设计和编写一个做有用事情的程序,看一看如何将所有这些组合在一起,学习如何自己编写一个Python脚本可以实现这个想法。 问题 我们想要解决的问题是: 我需要一个为我所有重要的程序创建备份的一个程序。 尽管这是一个简单的问题,但是我们没有着手解决这个问题的足够的信息。多一点的分析是必需的,例如,我们如何指定哪一个文件需要备份?他们是怎样存储的?

  • 问题解决了在这种环境下

  • 本文向大家介绍注解@CrossOrigin解决跨域的问题,包括了注解@CrossOrigin解决跨域的问题的使用技巧和注意事项,需要的朋友参考一下 注解@CrossOrigin 出于安全原因,浏览器禁止Ajax调用驻留在当前原点之外的资源。例如,当你在一个标签中检查你的银行账户时,你可以在另一个选项卡上拥有EVILL网站。来自EVILL的脚本不能够对你的银行API做出Ajax请求(从你的帐户中取出

  • 本文向大家介绍解决layer.prompt无效的问题,包括了解决layer.prompt无效的问题的使用技巧和注意事项,需要的朋友参考一下 使用H-UI框架中的layer弹出层时发现 layer.js中没有layer.prompt,如果想要使用layer.prompt可以使用layer中的use从扩展中加载此扩展方法 代码如下: 之后就可以正常使用了。 以上这篇解决layer.prompt无效的问