Eclipse中设置JVM内存
来源:互联网 发布:百度网站怎么优化 编辑:程序博客网 时间:2024/05/22 09:48
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
JVM 需要使用的内存已经超过了我们分配给虚拟机可以使用的最大内存。所以问题就转化为如何设置eclipse 中jvm 的最大内存。
一、尝试修改Eclipse.ini 文件 (此方法不行)
找到eclipse 目录下的eclipse.ini 文件,修改下面的内容:
-Xms40m
-Xmx512m
复制代码
修改后重启eclipse ,发现根本不起作用。经过后来查阅一些资料,原来这里设置的最小内存和最大内存是不是给JVM 使用的,这个内存值包含了eclipse 自身使用的内存。
二、修改jdk 使用内存(此方法可行)
找到eclispe 中window->preferences->Java->Installed JRE ,点击右侧的Edit 按钮,在编辑界面中的 “Default VM Arguments ”选项中,填入如下值即可。
-Xms64m -Xmx128m
复制代码
三、修改Run Configurations (此方法可行)
在代码上右键,依次点击“Run As ”-> “Run Configurations ”,在Arguments 参数中的“VM arguments: ”中填入如下值即可。
-Xms64m -Xmx128m
复制代码
四、查询当前JVM 内存代码
下面是查询当前JVM 内存大小的代码,可以测试以上设置后JVM 的内存是否会变化。增加JVM 内存的配置项后,无需重新启动eclipse 。具体的代码如下:
public class TestMemory {
public static void main(String[] args) {
System. out .println( " 内存信息 :" + toMemoryInfo ());
}
/**
* 获取当前 jvm 的内存信息
* @return
*/
public static String toMemoryInfo() {
Runtime currRuntime = Runtime.getRuntime ();
int nFreeMemory = ( int ) (currRuntime.freeMemory() / 1024 / 1024);
int nTotalMemory = ( int ) (currRuntime.totalMemory() / 1024 / 1024);
return nFreeMemory + "M/" + nTotalMemory + "M(free/total)" ;
}
}
复制代码
- Eclipse中JVM内存设置
- Eclipse中JVM内存设置
- Eclipse中设置JVM内存
- Eclipse 中设置JVM 内存
- Eclipse中设置JVM内存
- Eclipse 中设置JVM 内存
- Eclipse 中设置JVM 内存
- Eclipse中设置JVM内存
- Eclipse中设置JVM内存
- Eclipse 中设置JVM 内存
- Eclipse中设置JVM内存
- Eclipse 中设置JVM 内存
- Eclipse 中设置JVM 内存
- Eclipse 中设置JVM 内存
- Eclipse中设置JVM内存
- Eclipse中设置JVM内存
- Eclipse中设置JVM内存
- Eclipse 中设置JVM 内存
- Arcgis 图例 esri.dijit.legend Legend widget
- 购物系统项目
- 一道面试题(求一个unsigned int 数的二进制表示中有多少个1?)
- SAP Ehancement Package 7 for ERP 6.0 Install Step By Step -04
- C++ 成长中...
- Eclipse中设置JVM内存
- C++中的结构体的学习使用(持续更新中)
- Oracle多表插入insert all/insert first的区别
- Excel 2010高级应用-折线图(二)
- Html的简单用法
- crontab 每分钟、每小时、每天、每周、每月、每年定时执行
- TextView水平剧中
- 利用匿名管道实现远程CMD---我的解读
- 模拟自动售货机C程序