博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PermGen space-永久区内存溢出
阅读量:2165 次
发布时间:2019-05-01

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

近日在项目开发时,Tomcat部署了四个项目,可以正常启动,但是在进行测试时,Tomcat发生挂起,并抛出永久区内存溢出,:

nested exception is java.lang.OutOfMemoryError: PermGen space

原来是加载太多jar包和文件,分配Tomcat内存不够了。先解决如下,介绍三种方法:

第一种,直接在eclipse中修改:

run-》run configuration-》vm argument

在后面加上这句配置:栈空间256mb,堆空间512mb,永久区512mb

-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=512m

第二种:如果所用Tomcat中

Tomcat \ bin 目录中有Catalina.bat文件,

进入到Tomcat安装文件目录下:tomcat\bin下,修改Catalina.bat,更改内存分配

在“rem ----- Execute The Requested Command ----------------------”下加入

JAVA_OPTS="-server -Xms800m -Xmx800m -XXNewSize=256M -XX:PermSize=256M -XX:MaxNewSize=512m -XX:MaxPermSize=512m"

注:这种方法在只使用tomcat时管用,但使用eclipse时不管用。

第三种:修改eclipse下的eclipse.ini文件

这个相对来说比较好操作,收到对应的MaxPerSize参数,根据需要,设置内存大小。

在eclipse.ini中加入如下代码:

加入

-vm

d:/jdk6/bin/javaw.exe

-vmargs

-Dosgi.requiredJavaVersion=1.5 

 

-XX:PermSize=256M 

-XX:MaxPermSize=512m

如下图

你可能感兴趣的文章
设计模式 十八 策略模式Strategy 对象行为型
查看>>
socket阻塞与非阻塞 同步与异步 I/O模型
查看>>
TCP连接的状态详解以及故障排查
查看>>
Java输入输出流
查看>>
hbase安装配置 整合到hadoop
查看>>
PageRank算法
查看>>
Nginx工作原理和优化 漏洞
查看>>
Spring boot 4 应用打包部署
查看>>
设计模式 十一 代理模式Proxy 结构型
查看>>
Hadoop集群配置 最全面总结
查看>>
Linux修改本机/etc/hosts的hostName后经常不生效
查看>>
Redis应用场景
查看>>
设计模式 一 工厂模式Factory 创建型
查看>>
数据结构-栈和队列
查看>>
搜索引擎-倒排索引基础知识
查看>>
Linux系统结构 详解
查看>>
PHP SOCKET编程
查看>>
UML图中类之间的关系 依赖 泛化 关联 聚合 组合 实现
查看>>
使用Storm实现实时大数据分析
查看>>
B-树和B+树的应用 数据搜索和数据库索引
查看>>