2 回答
TA贡献1942条经验 获得超3个赞
eclipse的jvm设置方法如下:
默认方式启动Eclipse时,有关启动时JVM参数是在Eclipse安装目录下的eclipse.ini文件中指定的.在命令行下,也可以通过参数-vmargs来达到此目的.其命令格式为:eclipse -vmargs <JVM参数设置>.举例来说,命令eclipse -vmargs -Xmx512M用来设置Eclipse启动时JVM的最大堆内存(heap memory)
-vmargs -Xms128M -Xmx512M -XX:PermSize=64M -XX:MaxPermSize=128M
堆内存分配
JVM初始分配的内存由-Xms指定,默认是物理内存的1/64;JVM最大分配的内存由-Xmx指定,默认是物理内存的1/4.默认空余堆内存小于40%时,JVM就会增大堆直到-Xmx的最大限制;空余堆内存大于70%时,JVM会减少堆直到 -Xms的最小限制.因此服务器一般设置-Xms、-Xmx相等以避免在每次GC 后调整堆的大小.
非堆内存分配
JVM使用-XX:PermSize设置非堆内存初始值,默认是物理内存的1/64;由XX:MaxPermSize设置最大非堆内存的大小,默认是物理内存的1/4.
TA贡献1873条经验 获得超9个赞
eclipse有启动参数里设置jvm大小,因为eclipse运行时自己也需要jvm,所以eclipse.ini里设置的jvm大小不是具体某个程序运行时所用jvm的大小,这和具体程序运行的jvm大小无关。
那么怎么才能设置某个程序的jvm大小呢(当然控制台运行的话不会存在这个问题,如:java -Xms256m -Xmx1024m classname,这样就可以把当前程序的jvm大小给设定)?
因为eclipse里默认的一个程序的jvm配置为:-Xms8m -Xmx128m,所以我们的处理耗内存比较大时需要手动调整一下,以便不会内存溢出。具体的设置方法为:
选中被运行的类,点击菜单‘Run->RunConfigurations...’,选择(x)=Argument标签页下的vm arguments框里输入-Xmx512m, 保存运行就ok了.
我经常处理大的浮点矩阵,所以我用的是 -Xmx1024m。
- 2 回答
- 0 关注
- 846 浏览
添加回答
举报