容器被杀死 物理内存不足。

Posted

技术标签:

【中文标题】容器被杀死 物理内存不足。【英文标题】:Container got killed Running out of Physical memory. 【发布时间】:2017-08-22 17:04:37 【问题描述】:

containerID=container_e73_1498567983552_26942_01_000069] 正在超出物理内存限制。当前使用情况:已使用 1.0 GB 的 1 GB 物理内存;使用了 2.8 GB 的 2.1 GB 虚拟内存。杀死容器。 container_e73_1498567983552_26942_01_000069 的进程树转储: |- PID PPID PGRPID SESSID CMD_NAME USER_MODE_TIME(MILLIS) SYSTEM_TIME(MILLIS) VMEM_USAGE(BYTES) RSSMEM_USAGE(PAGES) FULL_CMD_LINE |- 29404 29401 29404 29404 (bash) 1 2 108654592 305 /bin/bash -c /usr/lib/jvm/java-1.8.0/bin/java -Djava.net.preferIPv4Stack=true -Dhadoop.metrics.log。 level=WARN -Xmx900m -Djava.io.tmpdir=/tmp/hadoop-mapr/nm-local-dir/usercache

【问题讨论】:

如何使用命令更改内存限制而不是直接在集群上进行更改 【参考方案1】:

在 sqoop 导入命令中添加这个属性:

-Dmapreduce.map.memory.mb=12288 -Dmapreduce.map.java.opts=-Xmx9830m

例子:

sqoop import -Dmapreduce.map.memory.mb=12288 -Dmapreduce.map.java.opts=-Xmx9830m \
other generic args like connection string etc

根据数据大小计算内存需求。

【讨论】:

以上是关于容器被杀死 物理内存不足。的主要内容,如果未能解决你的问题,请参考以下文章

物理内存和虚拟内存

虚拟机显示物理内存不足怎么解决

linux的内存管理

Linux内存机制(swap)

在centos系统中增删交换分区

内存管理