我正在集群上运行hadoop map reduce作业。我得到这个错误。openjdk client vm警告:信息:os::commit\ u memory(0x79f20000,104861696,0)失败;error='cannot allocate memory'(错误号=12)内存不足,java运行时环境无法继续。本机内存分配(malloc)无法为提交保留内存分配104861696字节。怎么办?
2ledvvac1#
您可以尝试通过传递这些运行时参数来增加内存分配大小。例如:
java -Xms1024M -Xmx2048M -jar application.jar
xmx是最大大小xms是最小尺寸
qyuhtwio2#
一定要有 swap 机器上的空间
swap
ubuntu@VM-ubuntu:~$ free -m total used free shared buffers cached Mem: 994 928 65 0 1 48 -/+ buffers/cache: 878 115 Swap: 4095 1086 3009
注意 Swap 线路。我刚刚在一个弹性计算示例上遇到了这个问题。默认情况下不装入交换空间。
Swap
wnrlj8wa3#
在jvm中使用的参数可能会导致容器内存溢出检查属性是否:
yarn.nodemanager.resource.memory-mb yarn.scheduler.minimum-allocation-mb yarn.scheduler.maximum-allocation-mb
xml匹配所需的值。有关更多内存参考,请阅读:hortonworks内存参考类似问题注意:这是针对hadoop2.0的,如果您正在运行hadoop1.0,请检查任务属性。
3条答案
按热度按时间2ledvvac1#
您可以尝试通过传递这些运行时参数来增加内存分配大小。
例如:
xmx是最大大小
xms是最小尺寸
qyuhtwio2#
一定要有
swap
机器上的空间注意
Swap
线路。我刚刚在一个弹性计算示例上遇到了这个问题。默认情况下不装入交换空间。
wnrlj8wa3#
在jvm中使用的参数可能会导致容器内存溢出
检查属性是否:
xml匹配所需的值。
有关更多内存参考,请阅读:
hortonworks内存参考
类似问题
注意:这是针对hadoop2.0的,如果您正在运行hadoop1.0,请检查任务属性。