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)" ;

  }

  }

  复制代码

0 0
原创粉丝点击