Eclipse 提示内存不足
发布日期:2021-06-21 02:42:25 浏览次数:6 分类:技术文章

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

原作者:大树叶

来源:CSDN
原文:https://blog.csdn.net/bigtree_3721/article/details/52065227

今天Eclipse突然闪退,提示内存不足

内存不足的提示了。 提示大概如下:

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 virtual 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安装文件下的eclipse.ini配置文件
通常里面都是写的-vmargs-Xms40m-Xmx256m
-vmargs:说明后面是VM的参数
-Xms40m:虚拟机占用系统的最小内存
Xmx256m:虚拟机占用系统的最大内存
-XX:PermSize:最小堆大小.一般报内存不足时,都是说这个太小,
堆空间剩余小于5%就会警告,建议把这个稍微设
大一点,不过要视自己机器内存大小来设置
-XX:PermSize:最大堆大小.这个也适当大些
把里面的参数改为
-vmargs
-Xms128M
-Xmx512M
-XX:PermSize=128M
-XX:MaxPermSize=256M

1, 设置Eclipse内存使用情况

修改eclipse根目录下的eclipse.ini文件
-vmargs //虚拟机设置
-Xms40m
-Xmx256m
-XX:PermSize=128M //非堆内存设置
-XX:MaxPermSize=256M

2, JVM内存设置

打开eclipse window-preferences-Java -Installed JREs -Edit -Default VM Arguments
在VM自变量中输入:-Xmx128m -Xms64m -Xmn32m -Xss16m

3, Tomcat内存设置

打开Tomcat根目录下的bin文件夹,编辑catalina.bat
修改为:set JAVA_OPTS= -Xms256m -Xmx512m

下面是这几个设置的一些背景知识:

1 堆(Heap)和非堆(Non- heap)内存

按照官方的说法:“Java 虚拟机具有一个堆,堆是运行时数据区域,所有类实例和数组的内存均从此处分配。堆是在 Java 虚拟机启动时创建的。”“在JVM中堆之外的内存称为非堆内存(Non-heap memory)”。可以看出JVM主要管理两种类型的内存:堆和非堆。简单来说堆就是Java代码可及的内存,是留给开发人员使用的;非堆就是JVM留给 自己用的,所以方法区、JVM内部处理或优化所需的内存(如JIT编译后的代码缓存)、每个类结构(如运行时常数池、字段和方法数据)以及方法和构造方法 的代码都在非堆内存中。

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以上的处理器就不会有限制了

转载地址:https://blog.csdn.net/Klhz555/article/details/91351832 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:HTML字符实体
下一篇:spring cloud 常见面试题 来理解微服务(通俗易懂)

发表评论

最新留言

哈哈,博客排版真的漂亮呢~
[***.90.31.176]2024年04月09日 13时14分58秒