博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Eclipse中通过Tomcat运行JavaWeb项目报错:java.lang.OutOfMemoryError: PermGen space 错误的解决方案
阅读量:2052 次
发布时间:2019-04-28

本文共 673 字,大约阅读时间需要 2 分钟。

运行JavaWeb项目的时候抛出异常:

Exception in thread “main” java.lang.OutOfMemoryError: PermGen space

at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(Unknown Source)
 

在eclipse集成tomcat环境下反复热发布应用也会出现此现象;

网上查找可知该异常产生的原因是JVM默认分配的4M运行空间过小,J2EE项目加载的类过多,造成内存溢出。

解决方案为通过添加下面的参数增加分配给JVM的内存空间:

-Xms512m -Xmx1024m -XX:MaxNewSize=512m -XX:MaxPermSize=512m

网上的解决方案多半是针对纯Tomcat的情况,并非通过Eclipse启动的Tomcat。

或者修改eclipse.ini配置文件,不过这些方法都不适合Eclipse运行Tomcat抛出该异常的情况。

修改eclipse.ini配置文件增大的是Ecipse开发平台本身运行的JVM的空间,并非Eclipse启动Tomcat的内存空间。

正确的方法是,在任意一个项目上点击右键“Run As” – “Run Configurations…”,选中Tomcat Server,进入Arguments分页,在VM arguments中加入提升初始分配空间的参数,如下图所示:

至此问题解决,再次启动OK

转载地址:http://epulf.baihongyu.com/

你可能感兴趣的文章
深入理解 Linux Cgroup 系列(一):基本概念
查看>>
深入理解 Linux Cgroup 系列(二):玩转 CPU
查看>>
云原生周报第 1 期 | 2019-06-24~2019-06-28
查看>>
Kubernetes Pod 驱逐详解
查看>>
kubectl 创建 Pod 背后到底发生了什么?
查看>>
[译] Kubernetes 儿童插图指南
查看>>
云原生周报第 2 期 | 2019-07-01~2019-07-05
查看>>
kubectl 创建 Pod 背后到底发生了什么?
查看>>
Kube-scheduler 源码分析(二):调度程序启动前逻辑
查看>>
kubernetes 1.15 有哪些让人眼前一亮的新特性?
查看>>
云原生周报:第 3 期
查看>>
深入理解 Linux Cgroup 系列(三):内存
查看>>
7月最新Java微服务资料
查看>>
Linux 指令
查看>>
wi10优化
查看>>
windows console 颜色设置
查看>>
VC unicode下Cstring转char*
查看>>
MFC ListBox使用
查看>>
Linux 使用grep筛选多个条件
查看>>
H264 NALU分析(sps,pps,关键帧,非关键帧)
查看>>