jvm 内存溢出 在myeclipse中加大tomcat的jvm内存 java.lang.OutOfMemoryError: PermGen space

本文介绍了解决在MyEclipse中启动部署在Tomcat6下的项目时遇到的java.lang.OutOfMemoryError: PermGenSpace错误的方法。通过调整JVM参数,如-Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m,来增加可用内存空间。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用myeclipse启动两个SSH2的部署在tomcat6下的项目 
报出java.lang.OutOfMemoryError: PermGen space 
解决办法: 

在myeclipse中加大jvm内存方法: 
Window->Preferences->Myeclipse->Services->Tomcat->Tomcat 6.x->JDK,在Optional Java VM arguments:下边的输入框里输入: 
-Xms128m -Xmx512m -XX:PermSize=128m -XX:MaxPermSize=128m 

上边的数值看起来不大,但是我的项目运行很稳定了,可以先不要急着改掉上边的数值,先用上边的数值运行试试,如果还是溢出的话再适当调整 

下边是直接调整jdk/jre的jvm的方式 
Window->Preferences->Java->Installed JREs,在右侧双击当前使用的jdk/jre,在Default VM Arguments中输入 
-Xms128m -Xmx512m 

另外在tomcat中可以随时查看jvm的占用情况. 
查看JVM使用情况的方法 

转载于:https://www.cnblogs.com/likeju/p/4745149.html

`java.lang.OutOfMemoryError: PermGen space` 和 `java.lang.OutOfMemoryError: Metaspace` 是Java内存溢出异常的两个常见变种,它们通常发生在Java虚拟机(JVM)试图动态扩展其方法区时。 1. **PermGen Space** (在Java 7之前): 这是存储常量池、类信息、接口信息和编译器产生的内部表示的地方。当应用创建大量临时类(如反射操作)或使用大量的内嵌套类,或者缓存了大量的字节码时,可能会导致 PermGen溢出。 ```java // 示例代码可能触发PermGen溢出 for (int i = 0; i < Integer.MAX_VALUE; i++) { Class<?> tempClass = generateTempClass(); } ``` 2. **Metaspace** (从Java 8开始): Java 8引入了元空间(Metaspace),取代了原来的PermGen空间。Metaspace用于存储运行时常量池、类型信息和接口信息。如果应用中有大量的本地变量表(LocalVariableTable)、字段信息(FieldInfo)或其他元数据,尤其是在使用Java的模块化系统(Modular System,即Jigsaw)时,可能导致Metaspace溢出。 ```java // 使用大量的泛型或类路径下的大文件也可能触发Metaspace溢出 List<String> largeList = new ArrayList<>(Arrays.asList(new String[Integer.MAX_VALUE])); ``` 解决这两种溢出的方法通常包括: - **调整堆大小**: 通过修改`-Xmx`和`-XX:MaxMetaspaceSize`选项来增加JVM可用的内存。 - **优化代码**: 减少不必要的类生成,避免使用过大的局部数组,限制元数据的数量。 - **使用Garbage Collection工具**: 检查并分析GC日志,找出导致内存占用持续增长的原因。 - **考虑使用JVM参数**:`-XX:+UseCompressedOops` 可以减少Metaspace的需求,但可能对某些应用程序性能有影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值