当我搜索容器时,它显示为:
yarn 38530 116969 0 Jul17 ? 00:00:00 bash /mnt/dfs/2/hadoop/yarn/local/usercache/sloth/appcache/application_1526888270443_0045/container_e12_1526888270443_0045_01_000039/default_container_executor.sh
yarn 38533 38530 0 Jul17 ? 00:00:00 /bin/bash -c /usr/jdk64/jdk1.8.0_77/bin/java -Xms1252m -Xmx1252m -XX:MaxDirectMemorySize=1820m -Dlog.file=/mnt/dfs/2/hadoop/yarn/log/application_1526888270443_0045/container_e12_1526888270443_0045_01_000039/taskmanager.log -Dlogback.configurationFile=file:./logback.xml -Dlog4j.configuration=file:./log4j.properties org.apache.flink.yarn.YarnTaskManager --configDir . 1> /mnt/dfs/2/hadoop/yarn/log/application_1526888270443_0045/container_e12_1526888270443_0045_01_000039/taskmanager.out 2> /mnt/dfs/2/hadoop/yarn/log/application_1526888270443_0045/container_e12_1526888270443_0045_01_000039/taskmanager.err
yarn 38540 38533 0 Jul17 ? 00:09:47 /usr/jdk64/jdk1.8.0_77/bin/java -Xms1252m -Xmx1252m -XX:MaxDirectMemorySize=1820m -Dlog.file=/mnt/dfs/2/hadoop/yarn/log/application_1526888270443_0045/container_e12_1526888270443_0045_01_000039/taskmanager.log -Dlogback.configurationFile=file:./logback.xml -Dlog4j.configuration=file:./log4j.properties org.apache.flink.yarn.YarnTaskManager --configDir .
我的排序方式是:
YarnTaskManager pid = 38540
container pid = 38533
??? pid = 38530
nodemanager pid = 116969
我转储了YarnTaskManager的转储文件,大小为400M +。 但是容器使用了更多的内存,我从日志中得到了它:
2018-07-18 10:16:27,875 INFO monitor.ContainersMonitorImpl (ContainersMonitorImpl.java:run(464))
- Memory usage of ProcessTree 38533 for container-id container_e12_1526888270443_0045_01_000039:
1.7 GB of 4 GB physical memory used; 4.1 GB of 8.4 GB virtual memory used
该容器已使用1.7G内存,我检查了最近的日志,它缓慢上升。 我不知道为什么使用的存储容器总是不断上升,几天后它将上升到4GB并被杀死,然后重新启动。 我如何阻止这种情况发生? 谢谢你骗我!