eclipse 启动内存溢出怎么 配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了eclipse 启动内存溢出怎么 配置相关的知识,希望对你有一定的参考价值。

(1)、解决方法
方法1.修改eclipse启动文件 eclipse.ini 中添加启动参数参数: -vmargs -Xmx512m
方法2.关闭自动构建工作区: project -> build Auto…..
方法3.在eclipse.ini式中添加了一个命令 -clean
方法4. window > preferences >jvm

添加:
-Xms512m
-Xmx2048m
-XX:MaxPermSize=512m
-XX:PermSize=128m

(2)、加大Eclipse运行可用最大内存数
具体操作: 修改位于eclipse目录下的eclipse.ini, 将-Xmx512m调高, 如改成-Xmx768m

(3)、减少Eclipse启动后自动启动的插件
具体操作: 在Preferences -> General -> StartUp and Shutdown: 将除Plug-ins activated on startup以外的项目有节选的去掉(比如Mylyn等没用到,就去掉了)
效果: 启动Eclipse后,会有Initialing Java Tools的滚动条,会发现快了很多.
参考技术A Server视图双击Server打配置页面Open launch configuration VM arguments 框结尾加入类似: -Xms212m -Xmx804m -XX:PermSize=250M -XX:MaxPermSize=356m

Tomcat启动时报内存溢出无法正常启动

1、在eclipse中启动tomcat时报错

十月 24, 2015 3:22:19 下午 org.apache.catalina.core.ContainerBase startInternal

SEVERE: A child container failed during start
java.util.concurrent.ExecutionException: java.lang.OutOfMemoryError: PermGen space
at java.util.concurrent.FutureTask$Sync.innerGet(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at org.apache.catalina.core.ContainerBase.startInternal(ContainerBase.java:1123)
at org.apache.catalina.core.StandardHost.startInternal(StandardHost.java:799)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1559)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1549)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.OutOfMemoryError: PermGen space
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at org.apache.catalina.loader.WebappClassLoader.findClassInternal(WebappClassLoader.java:2957)
at org.apache.catalina.loader.WebappClassLoader.findClass(WebappClassLoader.java:1210)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1690)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1571)

at org.springframework.util.ClassUtils.forName(ClassUtils.java:236)

PermGen space的全称是Permanent Generation space,是指内存的永久保存区域这是由于这块内存主要是被JVM存放Class和Meta信息的,Class在被Load的时候被放入PermGen space区域,它和存放Instance的Heap区域不同,sun的 GC不会在主程序运行期对PermGen space进行清理,所以如果你的APP会载入很多CLASS的话,就很可能出现PermGen space溢出。


解决方案:手动设置MaxPermSize大小。添加:-Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m



2.、 linux下的tomcat:  

修改TOMCAT_HOME/bin/catalina.sh 
位置cygwin=false前。
JAVA_OPTS="-server -Xms256m -Xmx512m -XX:PermSize=64M -XX:MaxPermSize=128m" 






以上是关于eclipse 启动内存溢出怎么 配置的主要内容,如果未能解决你的问题,请参考以下文章

tomcat编译内存溢出怎么解决

eclipse启动Tomcat加载项目时报内存溢出错误解决办法

MyEclipse或者Eclipse内存溢出问题

Tomcat启动时报内存溢出无法正常启动

eclipse内存溢出解决

eclipse下tomcat 内存溢出:java.lang.OutOfMemoryError: PermGen space解决方法: