`

MyEclipse内存不足以及参数配置“ -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M ”

 
阅读更多

使用myeclipse8.5出现如下问题:

MyEclipse has detected that less than 5% of the 31MB of Eden Space (Heap memory) space remains.

It is strongly recommended that you exit and restart MyEclipse with new virtual machine
memory paramters to increase this memory.  Failure to do so can result in data loss.

Recommended memory arguments: 
-vmargs
-Xmx512m
-XX:MaxPermSize=256m
-XX:ReservedCodeCacheSize=64m

 

 

打开MyEclipse目录下的myeclipse.ini文件 在后面修改下面几个属性

-vmargs
-Xms512m              ( JAVA能够分配的内存)
-Xmx512m              ( JAVA能够分配的最大内存)
-XX:PermSize=512M      (非堆内存初始值)
-XX:MaxPermSize=512M   (非堆内存最大值)
-XX:ReservedCodeCacheSize=64m  (eclipse缓存)

 

 

解决办法:

1.在桌面为ECLIPSE.EXE新建一个快捷方式,打开快捷方式属性,在快捷方式选项的目标 
后面加上-vmargs-Xms128m-Xmx512m-Xmx512m-XX:PermSize=64m-XX:MaxPermSize=128m, 
例如: 
D:\java\eclipse\eclipse.exe   -vmargs-Xms128m-Xmx512m-Xmx512m-XX:PermSize=64m-XX:MaxPermSize=128m 
我曾经试着在myeclipse.ini文件里头改,不过根本没有起作用。所以应该在快捷方式这边去改。

2.

在使用myeclipse时遇到这样的提示:

myeclipse has detected that less than 5% of the 64MB of Perm Gen(Non_heap memory) space remains. 
It is strongly recommended that you exit and restart MyEclipse with new virtul machine memory paramters to increase this memory.Failure to do so can result in data loss. 
The recommended Eclipse memory parameters are: 
eclipse.exe –vmargs -Xms128m -Xmx512m -XX:PermSize=64m -XX:MaxPermSize=128m

解决此问题可用以下命令:

命令是:eclipse.exe -vmargs -Xms256M -Xmx700M -XX:PermSize=150M -XX:MaxPermSize=300M

假设我的eclipseE:\eclipse-SDK-3.2.1-win32\eclipse下面,则我需要的命令是:

cd E:\eclipse-SDK-3.2.1-win32\eclipse

eclipse.exe –vmargs -Xms128m -Xmx512m  -XX:PermSize=64m -XX:MaxPermSize=128m

-vmargs:说明后面是VM的参数 -Xms40m:虚拟机占用系统的最小内存 -Xmx256m:虚拟机占用系统的最大内存 -XX:PermSize:最小堆大小。一般报内存不足时,都是说这个太小, 堆空间剩余小于5%就会警告,建议把这个稍微设大一点,不过要视自己机器内存大小来设置 -XX:MaxPermSize:最大堆大小。这个也适当大些 -Xmx512M5%25.6M,理论上要求-Xmx的数值与-XX:MaxPermSize必须大于25.6M



下面是这几个设置的一些背景知识: 
1 堆(Heap)和非堆(Non- heap)内存[b] 
按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法的代码都在非堆内存中。 
[b]2 堆内存分配
 
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4。默认空余堆内存小于 40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到-Xms的最小限制。因此服务器一般设置-Xms、 -Xmx相等以避免在每次GC 后调整堆的大小。 
3 非堆内存分配 
JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4。 
4 JVM内存限制(最大值) 
首先JVM内存首先受限于实际的最大物理内存,假设物理内存无限大的话,JVM内存的最大值跟操作系统有很大的关系。简单的说就32位处理器虽然可控内存空间有4GB,但是具体的操作系统会给一个限制,这个限制一般是2GB-3GB(一般来说Windows系统下为1.5G-2G,Linux系统下为 2G-3G),而64bit以上的处理器就不会有限制了。

 

转自http://blog.csdn.net/jazywoo123/article/details/7877768

分享到:
评论

相关推荐

    MyEclipse修改jvm内存.docx

    4. 在“Edit JRE”对话框中,输入以下参数:-Xms256m -Xmx512m -XX:PermSize=256m -XX:MaxPermSize=1024m。 5. 点击“Finish”按钮以保存配置。 通过修改myeclipse.ini文件配置jvm虚拟机的内存 myeclipse.ini文件...

    MyEclipse内存不足处理方案.txt

    eclipse.exe -vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M ``` 其中: - `-Xms` 设置了初始堆内存大小。 - `-Xmx` 设置了最大堆内存大小。 - `-XX:PermSize` 和 `-XX:MaxPermSize` 分别...

    tomcat_eclipse配置内存溢出

    set JAVA_OPTS=-server -Xms256m -Xmx256m -XX:PermSize=512M -XX:MaxPermSize=512m -XX:-UseGCOverheadLimit %JAVA_OPTS% ``` - 对于Linux环境,编辑 `%TOMCAT_HOME%/bin/catalina.sh` 文件,在文件顶部添加如下...

    myeclipse内存溢出问题

    set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m ``` - 如果使用的是MyEclipse内置的Tomcat,可以在MyEclipse中进行配置调整: 1. 选择`Window -> Preferences -> MyEclipse -> ...

    myeclipse 解决内存的问题

    - `-Xms` 和 `-Xmx` 分别设置初始堆内存和最大堆内存大小,如 `-Xms128m -Xmx512m`。 - `-XX:PermSize` 和 `-XX:MaxPermSize` 分别设置最小和最大永久代大小,如 `-XX:PermSize=128M -XX:MaxPermSize=256M`。 ###...

    MyEclipse内存不足问题

    例如,设置`-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m`,分别表示Tomcat的初始堆内存和最大堆内存均为1GB,永久代初始大小和最大大小分别为128MB和256MB。 此外,还可以在MyEclipse中配置Tomcat...

    could not create the java virtual machine 解决办法

    例如,`-XX:PermSize=64M` 表示初始分配64MB的空间,而 `-XX:MaxPermSize=128M` 则表示最大可以使用128MB的空间。 - 需要注意的是,从Java 8开始,永久代被元空间(Metaspace)所替代,因此如果使用的是Java 8及...

    解决myeclipse自动关闭问题配置文件

    - **-XX:PermSize=64M** 和 **-XX:MaxPermSize=128M**:设置永久代的初始大小和最大大小。 - **-XX:ReservedCodeCacheSize=64m** 重复两次,实际上只需要一次即可。 2. **第二组配置**: - **-Xmx512m**:设置...

    java excel导出tomcat内存溢出处理方法

    set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m ``` 这里的配置意味着: - `-Xms1024m`:设置启动时的初始堆内存大小为1GB。 - `-Xmx1024m`:设置最大堆内存大小为1GB。 - `-XX:...

    Eclipse的内存优化与内存不足问题.pdf

    例如,设置为`-Xms128M`表示初始堆内存为128MB。 - **-Xmx**:设置JVM的最大堆内存大小。例如,设置为`-Xmx512M`表示最大堆内存为512MB。 - **-XX:PermSize**:设置PermGen Space的初始大小。例如,设置为`-XX:...

    MyEclipse内存不足谈谈JVM内存

    - **-XX:PermSize=64M**:设置初始的永久代(Permanent Generation)大小为64MB。对于Java 8及更早版本,这是非堆内存的一部分,用于存储类元数据等。 - **-XX:MaxPermSize=128M**:设置最大的永久代大小为128MB。...

    myeclipse优化

    - `-DenvironmenTypeCode=NextDevelopment -Xms512m -Xmx768m -XX:CompileThreshold=8000 -XX:PermSize=256m -XX:MaxPermSize=512m -Xverify:none -da-DEnvType=bjtest` 以上就是关于MyEclipse优化的一些实用技巧...

    java.lang.OutOfMemoryError: PermGen space及其解决方法

    -Xms256M -Xmx512M -XX:PermSize=256m -XX:MaxPermSize=512m ``` - **Eclipse操作步骤**: - 在项目上右键单击,选择`Open Launch Configuration`。 - 在`Arguments`标签页下,在`VM Arguments`框中输入以下...

    打造极速MyEclipse+由MyEclipse内存不足谈谈JVM内存

    例如,可以设置`-Xms512m -Xmx1024m`,确保MyEclipse启动时至少分配512MB内存,并且最多不超过1024MB。根据实际需求和系统资源,适当调整这些值。 - **NewSize和MaxNewSize**:控制新生代的大小,用于新生对象的...

    myEclipse6.5解决启动错误或中途崩溃自动关闭

    - `-XX:PermSize=128M`: 设置永久代的初始大小。 - `-XX:MaxPermSize=256M`: 设置永久代的最大大小。 这些设置能够有效提升JVM的性能,并减少因内存不足等问题导致的崩溃。 ##### 2. 删除`configuration`目录...

    tomcat out of memory solution

    输入类似`-Xmx1024M -Xms512M -XX:MaxPermSize=256m`的参数,其中`-Xmx`定义了最大堆内存大小,`-Xms`设定了初始堆内存大小,`-XX:MaxPermSize`定义了永久代的最大大小。 ### 永久代空间溢出(PermGen space) ...

    导致MyEclipse内存不足的原因分析及解决办法

    set JAVA_OPTS=-Xms1024m -Xmx1024m -XX:PermSize=128m -XX:MaxPermSize=256m ``` - 在MyEclipse中,还可以通过配置Web服务器设置来调整Tomcat内存,操作路径为Window—Preferences—MyEclipse—Servers—选择...

    myeclipsejava虚拟机jvm参数设置

    推荐的内存参数包括`-Xmx512m`,用于设定堆内存的最大值为512MB,`-XX:MaxPermSize=256m`用来设定非堆内存的最大值,即永久代( Perm Generation)的大小为256MB,`-XX:ReservedCodeCacheSize=64m`则为JIT编译后的...

    MyEclipse优化配置

    -XX:PermSize=128M -XX:MaxPermSize=256M ``` - **`-clean`**:每次启动时都会清理工作空间的状态,这有助于避免一些潜在的问题,但也会增加启动时间。 - **`-showsplash`**:指定启动时显示的启动界面。 - **`--...

Global site tag (gtag.js) - Google Analytics