`
yiyu
  • 浏览: 186308 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

空闲内存充足时eclipse启动报告无法申请总够堆空间错误的解决办法

阅读更多
今天突然eclipse启动失败,从命令行运行eclipsec.exe报如下错误:

Error occurred during initialization of VM
Could not reserve enough space for object heap

eclipse.ini里的内存设置为:

-Xms256m
-Xmx512m

可是机器的内存还有1G多空余,为什么会出这种错误呢?google了半天,看到这样一篇文章:

http://www.eclipsezone.com/eclipse/forums/t104307.html

大意是说eclipse启动时申请的堆是连续内存空间,而启动画面引起的windows的图形动态库默认加载到0x5D090000,把内存空间拦腰斩断了,导致实际可以申请的堆要小于我们看到的空闲内存。

于是我尝试性地把eclipse.ini中的下面这个参数注释掉了:

-showsplash org.eclipse.platform

结果在不改变堆设置的情况下,eclipse正常启动了,呵呵
但是启动画面还是显示的,具体原因就不是很清楚了。
分享到:
评论
1 楼 rmn190 2010-04-15  
谢谢, 我也遇到这个问题了, 不知道怎么回事, 按你说的方法可以了。

相关推荐

    linux堆内存分析

    这可能导致在需要大块内存时,即使总空闲内存充足,也会因物理内存不足触发OOM Killer。 - 未释放的内存块不仅阻碍内核回收,也妨碍C库的内存合并,加剧碎片问题。 4. **处理与定制**: - 为防止碎片积累,可以...

    易语言内存池申请

    内存池是一种预先分配一大块连续内存空间,并将其分割成多个固定大小的小块内存块,供程序动态分配使用的策略。相比传统的内存分配方式(如C++中的`new`和`delete`,或C语言中的`malloc`和`free`),内存池能提高...

    堆内存和栈内存详解,我感觉挺好的

    堆:系统将遍历空闲内存地址的链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序。 2.3 申请大小的限制 栈:在 Windows 下,栈是向低地址扩展的数据...

    动态内存分配

    动态内存分配是操作系统中内存管理的一种策略,它允许程序在运行时根据需要动态地请求和释放内存。在传统的操作系统中,动态分区分配是为进程分配内存的关键步骤,它涉及到多种分配算法来有效地管理有限的内存资源。...

    安装Oracle11gR2先决条件检查失败的详细解决处理过程

    解决这类问题的方法通常包括确认系统内存是否足够,以及在系统上运行内存检测工具确认内存状态。在某些情况下,可能需要增加物理内存。 其次,交换空间的检查也会失败。交换空间作为物理内存的一种补充,Oracle...

    基于对话框的用于获得计算机的名称,内存和空闲内存的小软件

    在Windows中,可以使用`GlobalMemoryStatusEx`或`GetPerformanceInfo`函数来获取内存的相关信息,包括总内存、已用内存和空闲内存等。 **空闲内存**(Free Memory)是指当前未被任何进程使用的内存空间,它是衡量...

    内存分配算法课程设计(Eclipse+Java)

    内存分配算法是操作系统核心部分的关键技术之一,它负责有效地管理和分配计算机内存资源。在这个课程设计中,我们将使用Java编程语言在Eclipse集成开发环境中实现内存分配的模拟。Eclipse因其强大的调试工具和丰富的...

    内存中的堆与栈区别 内存中的堆与栈区别

    堆:操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序,另外,对于大多数系统...

    操作系统课程设计 实现 可变分区最佳适应算法 1输入作业数及大小 2查看内存使用情况 3释放内存 4查看空闲区表的情况

    这种算法在动态分配内存时,旨在优化内存的使用,减少碎片并最大化空间利用率。 可变分区最佳适应算法是一种动态内存分配策略,其主要目标是在分配内存给新作业时,找到当前所有空闲分区中最小但仍能满足作业需求的...

    内存中堆和栈的区别

    堆:操作系统有一个记录空闲内存地址的链表,当系统收到程序的申请时,会遍历该链表,寻找第一个空间大于所申请空间的堆结点,然后将该结点从空闲结点链表中删除,并将该结点的空间分配给程序。 栈:只要栈的剩余...

    分析linux系统中磁盘空闲空间的管理方法借鉴.pdf

    尽管这样做可以暂时缓解内存压力,但交换空间位于硬盘上,其访问速度远低于内存,因此不应作为长期替代物理内存的解决方案。建议的交换空间大小通常是物理内存的两倍,但不超过2GB。如果需要添加交换空间,有两种...

    堆内存和栈内存详解.doc

    - 当申请的内存超出栈的剩余空间时,会导致栈溢出错误。 - **堆** - 堆可以利用更多的虚拟内存空间,因此可以申请更大的内存块。 - 堆的内存分配更灵活,但也更容易产生内存碎片。 ##### 2.4 申请效率的比较 - ...

    系统内存不足解决方案

    综上所述,通过优化剪贴板使用、管理运行程序、控制启动项、增加硬盘空间以及正确设置虚拟内存,可以有效解决Windows系统中的内存不足问题,确保系统的顺畅运行。在日常使用中,定期进行这些维护步骤,可以预防内存...

    空闲磁盘存储空间的管理:简单方法

    《空闲磁盘存储空间管理:简单方法》 在操作系统(OS)的设计中,有效管理空闲磁盘存储空间是一项至关重要的任务。本项目旨在通过模拟实现不同的空闲磁盘空间管理方法,如空闲表法、空闲链表法、位示图法以及UNIX的...

    动态内存分配实验报告

    动态内存分配是编程中一种重要的内存管理方式,它允许程序在运行时根据需要动态地请求内存,而不是在编译期间预设固定的内存空间。在C++编程语言中,动态内存分配主要通过`new`和`delete`关键字来实现。本实验报告...

    计算机操作系统内存分配实验报告.doc

    计算机操作系统内存分配是操作系统核心功能之一,实验报告中主要探讨了在可变分区存储管理方式下,如何实现主存的分配与回收。可变分区管理允许分区大小根据作业需求动态调整,以确保有效利用内存资源。 实验的目标...

    操作系统 内存的分配与回收 实验报告

    首次适应算法(FF)在分配45K和30K内存时,优先选择的第一个满足条件的空闲分区,可能导致较大的空闲分区被切割,增加了内存碎片。而最佳适应算法(BF)虽然能有效利用小的空闲分区,但在长期运行中可能会导致大量小...

    堆内存和栈内存详解 ESP

    - **堆**:系统在堆上分配内存时,需要查找合适的空闲块,如果找到则分配,否则可能需要进行碎片整理或扩大堆空间。 3. **空间大小**: - **栈**:在Windows下,一般为2MB到1MB之间,取决于编译器设置。 - **堆*...

    解决Windows10系统和压缩内存占用CPU和内存的问题

    要解决这个问题,一种可能的方案是禁用内存自检任务,这个任务可能会在系统空闲时触发,导致不必要的CPU和内存负载。具体步骤如下: 1. 首先,通过搜索栏或控制面板进入“管理工具”。 2. 在管理工具中找到并打开...

Global site tag (gtag.js) - Google Analytics