eclipse中的JVM理解

今天写了一段hadoop程序,就是简单的MapReduce,写完以后在eclipse运行时上报:java.lang.OutOfMemoryError: Java heap space内存溢出的错误。总是不明白为什么会溢出。

后来询问网友和上网查找资料了解到。

原来我们平时开发的eclipse就模仿了一个java运行环境,当点击run运行时就启动了一个java虚拟机用来模拟真实电脑中的虚拟机。

可能hadoop的底层底层代码中定义的变量比较大把我的eclipse中启动的JVM的内存占满了所以上报该错误。

处理方法:

有两种方法:

1、打开eclipse配置文件eclipse.ini,更改把-Xmx(其数值代表jvm可以使用的最大内存数)

2.  运行java程序时,选择run->run configuration->arguments,输入-Xms100M -Xmx800M(-Xms代表jvm启动时分配的内存大小,-Xmx代表可最大分配多少内存)。

你可能感兴趣的:(hadoop)