我正在尝试在hadoop上实现jcuda代码,并且它在本地模式下工作,但是当我在hadoop集群上运行作业时,它给了我一个错误:容器在这里被杀死是特定的错误报告:
16/04/29 10:18:07 INFO mapreduce.Job:任务ID:attempt_1461835313661_0014_r_000009_2,状态:未通过 Container [pid = 19894,containerID = container_1461835313661_0014_01_000021]正在超出虚拟内存限制。当前用法:使用197.5 MB的1 GB物理内存;使用20.9 GB的2.1 GB虚拟内存。杀死容器。
输入数据只有200MB,但作业要求20.9GB虚拟内存我不知道为什么。我试图增加虚拟内存,配置在yarn-site.xml:
<property>
<name>yarn.nodemanager.vmem-pmem-ration</name>
<value>12</value>
</property>
<property>
<name>yarn.nodemanager.pmem-check-enabled</name>
<value>false</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
它没有用,我不知道要解决它,我很抱歉我的英语很差。
答案 0 :(得分:0)
Please check the following parameters and set it if not set to the values below:
In mapred-site.xml:
mapreduce.map.memory.mb: 4096
mapreduce.reduce.memory.mb: 8192
mapreduce.map.java.opts: -Xmx3072m
mapreduce.reduce.java.opts: -Xmx6144m
Hope this solves your issue