【eclipse】修改eclipse.ini解决eclipse假死问题

来源:互联网 发布:淘宝买手机店铺推荐 编辑:程序博客网 时间:2024/06/17 09:08

    • 起因
    • 解决方案
      • eclipseini环境示例
      • 结果
    • 原因分析
      • 重要的tips

起因

win8.1、双核CPU、16G内存,装eclipse以后报错非常诡异,有时候开俩仨eclipse妥妥的没事,有时开一个就卡的不可描述,假死

解决方案

step1、修改eclipse.ini参数,扩大JVM的内存(能解决一部分人的问题,然而对我并没有什么卵用)

-XX:MaxPermSize=4096M-Xms256m-Xmx4096m

step2、设置并行GC(最低是双核cpu,好用了一点)

-XX:+UseParallelGC

step3、设置默认虚拟机(重中之重

-vmD:\jdk1.8.0_25\bin\javaw.exe(jre下javaw.exe的绝对地址,依据jdk安装位置变动)

eclipse.ini环境示例

-startupplugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar--launcher.libraryplugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.200.v20140603-1326-productorg.eclipse.epp.package.jee.product--launcher.defaultActionopenFile-showsplashorg.eclipse.platform--launcher.XXMaxPermSize768m--launcher.defaultActionopenFile-vmD:\jdk1.8.0_25\bin\javaw.exe--launcher.appendVmargs-vmargs-Dosgi.requiredJavaVersion=1.5-XX:MaxPermSize=4096M-Xms256m-Xmx4096m-XX:+UseParallelGC

结果

问题解决、使用流畅、一本满足


原因分析

从官方文档等是可以找到原因的,eclipse.ini官方说明、eclipse.ini官方参数说明、JVM参数优化。

eclipse.ini放置在eclipse安装文件夹的根目录下,是控制eclipse启动的text文件。在里面默认设置了eclipse的几项启动参数,可直接增删改查文件设置eclipse的启动参数,缺省参数eclipse会设置默认值,如没有设置JVM位置则eclipse会使用系统默认的VM。
重要参数如下:

参数 说明 默认值 -vmargs 没有默认值设置,仅表示后面都是JVM参数,前面的是eclipse参数 -XX:MaxPermSize=128m JVM初始分配的最大非堆内存,这里官方标示不能在所有平台上检测到JVM 默认为128M或缺省(缺省值和-server -client选项相关。-server选项下默认MaxPermSize为64m;-client选项下默认MaxPermSize为32m),按需分配。一般设置为最大堆内存的1/4,但是过小会导致内存溢出 -Xms40m 设置JVM Heap(堆内存)最小值 默认为40M,初始分配 -Xmx512m 设置JVM Heap(堆内存)最大值 默认为512M,按需分配,过小会导致内存溢出,JVM报错,无法用try catch捕捉

这里有一句话非常重要,就是并不能在所有平台上都能检测到JVM虚拟机,需要我们告诉eclipse本地虚拟机的位置。

在官方资料上也特别说明了这一点:

One of the most recommended options to use is to specify a specific JVM for Eclipse to run on. Doing this ensures that you are absolutely certain which JVM Eclipse will run in and insulates you from system changes that can alter the "default" JVM for your system. Many a user has been tripped up because they thought they knew what JVM would be used by default, but they thought wrong. eclipse.ini lets you be CERTAIN.

翻译:官方推荐在eclipse运行时设置一个特定的JVM,这样可以确保JVM是eclipse的默认虚拟机。很多用户错误的认为JVM是默认虚拟机,然而事实并非如此。用户可通过eclipse.ini来修正虚拟机。

经查证,window下指定JVM需要设置-vm参数,例:

-vmC:\jdk1.7.0_21\bin\javaw.exe 
-vm C:\jdk1.7.0_21\jre\bin\java.exe
-vmC:\Development\Java\64bit\jdk1.7.0_09\jre\bin\server\jvm.dll

指定的位置应该是本地java运行环境/bin目录/java程序或ava共享库(jvm.dll或libjvm.so)的绝对地址。eclipse和JVM的位数必须相同,即32位eclipse配置32位JVM,64位eclipse配置64位JVM,交叉不能运行。

重要的tips

tips1:
设置最大最小JVM内存也和系统的位数有关,32位系统下,一般限制在1.5G~2G;64位操作系统对内存无限制。
tips2:
初始分配的堆内存由-Xms指定,默认是物理内存的1/64;
最大分配的堆内存由-Xmx指定,默认是物理内存的1/4;
最大非堆内存的大小由–XX:MaxPermSize设置,默认是物理内存的1/4


0 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 在客厅弄醒午睡的 客厅午睡的母亲穿裙子在线播放 客厅午睡的母亲自拍 客厅里硬搞午睡的母亲视频 对白搞硬沙发午睡的儿子 客厅沙发儿子碎花裙 电影客厅午睡的母亲 客厅午睡以为你是爸爸 客厅弄醒午唾的儿子 客厅搞硬午睡的儿子小说 客厅弄醒穿花裙子午睡的妈电影 在客厅里弄醒午睡的儿子 中午弄醒正在午睡中的护校小 客厅弄醒午睡的妈视频完整迅雷 弄醒客厅午睡花裙子母亲 对白弄醒午睡的儿子 客厅沙发午睡的妈 母亲今晚让你入个够 在客厅里弄醒午睡的 客厅里午睡的花裙子电影 睡在客厅午睡的母亲 客厅弄醒午睡的妈视频 ckm 客厅中弄醒午睡的儿子 艹醒客厅上睡觉的百褶裙 搞硬午睡儿子沙发大战视频 客厅弄醒午睡的在线播放 在客厅穿花裙子午睡的母亲视频 艹客厅沙发午睡 中国小叔子强大嫂 强睡大嫂风间游美 原千岁老公原谅 美人未亡夫原千岁 原千岁在播放 电影让兄弟睡自己老婆 兄弟的老婆3电影 原千岁宠溺儿在线播放 强睡大搜中女主是谁 给男朋友兄弟口 趁老婆喝醉睡着上闺蜜电影 楼上干兄弟老婆 楼下兄弟打牌 强睡年轻女老板韩国