eclipse修改jvm参数调优方法(2种)
本文介绍了eclipse修改jvm参数调优方法(2种),分享给大家,具体如下:
一般在不对eclipse进行相关设置的时候,使用eclipse总是会觉得启动好慢,用起来好卡,其实只要对eclipse的相关参数进行一些配置,就会有很大的改善。
有两种方法:
1、打开eclipse配置文件eclipse.ini,更改把-Xmx(其数值代表jvm可以使用的最大内存数)
2. 运行java程序时,选择run->runconfiguration->arguments,输入-Xms100M-Xmx800M(-Xms代表jvm启动时分配的内存大小,-Xmx代表可最大分配多少内存)。
今天在eclipse中测试把文档转换为图片的时候,报出了下面的错误:
java.lang.OutOfMemoryError:Javaheapspace
从上边的异常信息可以看到,JVM需要使用的内存已经超过了我们分配给虚拟机可以使用的最大内存。所以问题就转化为如何设置eclipse中jvm的最大内存。
一、尝试修改Eclipse.ini文件(此方法不行)
找到eclipse目录下的eclipse.ini文件,修改下面的内容:
-Xms40m -Xmx512m
修改后重启eclipse,发现根本不起作用。经过后来查阅一些资料,原来这里设置的最小内存和最大内存是不是给JVM使用的,这个内存值包含了eclipse自身使用的内存。
二、修改jdk使用内存(此方法可行)
找到eclispe中window->preferences->Java->InstalledJRE,点击右侧的Edit按钮,在编辑界面中的“DefaultVMArguments”选项中,填入如下值即可。
-Xms64m-Xmx128m
三、修改RunConfigurations(此方法可行)
在代码上右键,依次点击“RunAs”->“RunConfigurations”,在Arguments参数中的“VMarguments:”中填入如下值即可。
-Xms64m-Xmx128m
主要通过以下的几个jvm参数来设置堆内存的:
-Xmx512m
最大总堆内存,一般设置为物理内存的1/4
-Xms512m
初始总堆内存,一般将它设置的和最大堆内存一样大,这样就不需要根据当前堆使用情况而调整堆的大小了
-Xmn192m
年轻带堆内存,sun官方推荐为整个堆的3/8
堆内存的组成
总堆内存=年轻带堆内存+年老带堆内存+持久带堆内存
年轻带堆内存
对象刚创建出来时放在这里
年老带堆内存
对象在被真正会回收之前会先放在这里
持久带堆内存
class文件,元数据等放在这里
-XX:PermSize=128m
持久带堆的初始大小
-XX:MaxPermSize=128m
持久带堆的最大大小,eclipse默认为256m。如果要编译jdk这种,一定要把这个设的很大,因为它的类太多了。
四、查询当前JVM内存代码
下面是查询当前JVM内存大小的代码,可以测试以上设置后JVM的内存是否会变化。增加JVM内存的配置项后,无需重新启动eclipse。具体的代码如下:
publicclassTestMemory{ /** *@paramargs */ publicstaticvoidmain(String[]args){ System.out.println("内存信息:"+toMemoryInfo()); } /** *获取当前jvm的内存信息 * *@return */ publicstaticStringtoMemoryInfo(){ RuntimecurrRuntime=Runtime.getRuntime(); intnFreeMemory=(int)(currRuntime.freeMemory()/1024/1024); intnTotalMemory=(int)(currRuntime.totalMemory()/1024/1024); returnnFreeMemory+"M/"+nTotalMemory+"M(free/total)"; } }
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
声明:本文内容来源于网络,版权归原作者所有,内容由互联网用户自发贡献自行上传,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任。如果您发现有涉嫌版权的内容,欢迎发送邮件至:czq8825#qq.com(发邮件时,请将#更换为@)进行举报,并提供相关证据,一经查实,本站将立刻删除涉嫌侵权内容。