openjdk客户端vm-无法分配内存

wvt8vs2t  于 2021-06-02  发布在  Hadoop
关注(0)|答案(3)|浏览(423)

我正在集群上运行hadoop map reduce作业。我得到这个错误。
openjdk client vm警告:信息:os::commit\ u memory(0x79f20000,104861696,0)失败;error='cannot allocate memory'(错误号=12)
内存不足,java运行时环境无法继续。
本机内存分配(malloc)无法为提交保留内存分配104861696字节。
怎么办?

2ledvvac

2ledvvac1#

您可以尝试通过传递这些运行时参数来增加内存分配大小。
例如:

java -Xms1024M -Xmx2048M -jar application.jar

xmx是最大大小
xms是最小尺寸

qyuhtwio

qyuhtwio2#

一定要有 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 线路。
我刚刚在一个弹性计算示例上遇到了这个问题。默认情况下不装入交换空间。

wnrlj8wa

wnrlj8wa3#

在jvm中使用的参数可能会导致容器内存溢出
检查属性是否:

yarn.nodemanager.resource.memory-mb
yarn.scheduler.minimum-allocation-mb
yarn.scheduler.maximum-allocation-mb

xml匹配所需的值。
有关更多内存参考,请阅读:
hortonworks内存参考
类似问题
注意:这是针对hadoop2.0的,如果您正在运行hadoop1.0,请检查任务属性。

相关问题