java – Eclipse将堆释放回系统
发布时间:2020-12-15 05:16:54 所属栏目:Java 来源:网络整理
导读:我正在使用 Eclipse 3.6和 Linux(64位)上的最新Sun Java 6以及大量项目.在某些特殊情况下(例如SVN更新),Eclipse需要最多1 GB的堆.但大多数时候它只需要350 MB.当我启用堆状态面板时,我大部分时间都会看到这个: 350M的878M 我使用以下设置启动Eclipse:-Xms1
我正在使用
Eclipse 3.6和
Linux(64位)上的最新Sun Java 6以及大量项目.在某些特殊情况下(例如SVN更新),Eclipse需要最多1 GB的堆.但大多数时候它只需要350 MB.当我启用堆状态面板时,我大部分时间都会看到这个:
350M的878M 我使用以下设置启动Eclipse:-Xms128m -Xmx1024m 因此,大多数时候MB的大量浪费只是在内存使用达到峰值时很少使用.我根本不喜欢它,我希望Eclipse将内存释放回系统,所以我可以将它用于其他程序. 当Eclipse需要更多内存而没有足够的可用RAM而Linux可以换掉其他正在运行的程序时,我可以忍受.我听说有一个-XX:MaxHeapFreeRatio选项.但我从来没有弄清楚我必须使用什么价值,所以它有效.没有任何价值我试过有所作为. 那么我如何告诉Eclipse(或Java)发布未使用的堆? 解决方法
找到了解决方案.我将Java切换为使用G1垃圾收集器,现在HeapFreeRatio参数按预期工作.所以我在eclipse.ini中使用这些选项:
-XX:+UnlockExperimentalVMOptions -XX:+UseG1GC -XX:MinHeapFreeRatio=5 -XX:MaxHeapFreeRatio=25 现在,当Eclipse为一项复杂的操作耗尽超过1 GB的RAM并在垃圾收集后切换回300 MB时,内存实际上会释放回操作系统. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |