У меня есть многопоточное задание на обработку данных, которое выполняется примерно за 5 часов (тот же код) на экземпляре EC2.Но когда он запускается в док-контейнере (я настроил его на 7 ГБ ОЗУ перед созданием контейнера), задание медленно выполняется в док-контейнере в течение примерно 12 часов, а затем док-контейнер исчезает.Как мы можем это исправить?Почему работа в док-контейнере должна быть очень медленной?Процессорная обработка была очень-очень медленной в док-контейнере, а не только в сети.Медленный сетевой ввод / вывод - это нормально.Но мне интересно, что может быть причиной слишком медленной обработки ЦП по сравнению с экземпляром EC2.Также, где я могу найти подробную трассировку того, что произошло в операционной системе хоста, что привело к смерти контейнера Docker.
**docker logs <container_id>**
19-Feb-2019 22:49:42.098 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["http-nio-8080"]
19-Feb-2019 22:49:42.105 INFO [main] org.apache.coyote.AbstractProtocol.start Starting ProtocolHandler ["ajp-nio-8009"]
19-Feb-2019 22:49:42.106 INFO [main] org.apache.catalina.startup.Catalina.start Server startup in 27468 ms
19-Feb-2019 22:55:12.122 INFO [localhost-startStop-2] org.apache.catalina.startup.HostConfig.deployDirectory Deploying web application directory [/usr/local/tomcat/webapps/logging]
19-Feb-2019 22:55:12.154 INFO [localhost-startStop-2] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [/usr/local/tomcat/webapps/logging] has finished in [32] ms
searchResourcePath=[null], isSearchResourceAvailable=[false]
knowledgeCommonResourcePath=[null], isKnowledgeCommonResourceAvailable=[false]
Load language resource fail...
blah blah blah some application log
bash: line 1: 10 Killed /usr/local/tomcat/bin/catalina.sh run
Error in Tomcat run: 137 ... failed!
Вверх по выполнению dmesg -T |grep docker, это то, что я вижу.Что такое 500 Dockerd?-500 докер-прокси?Как интерпретировать то, что здесь, под?
[Tue Feb 19 14:49:04 2019] docker0: port 1(vethc30f313) entered blocking state
[Tue Feb 19 14:49:04 2019] docker0: port 1(vethc30f313) entered forwarding state
[Tue Feb 19 14:49:04 2019] docker0: port 1(vethc30f313) entered disabled state
[Tue Feb 19 14:49:07 2019] docker0: port 1(vethc30f313) entered blocking state
[Tue Feb 19 14:49:07 2019] docker0: port 1(vethc30f313) entered forwarding state
**[Wed Feb 20 04:09:23 2019] [10510] 0 10510 197835 12301 111 0 -500 dockerd
[Wed Feb 20 04:09:23 2019] [11241] 0 11241 84733 5434 53 0 0 docker
[Wed Feb 20 04:09:23 2019] [11297] 0 11297 29279 292 18 0 -500 docker-proxy**
[Wed Feb 20 04:09:30 2019] docker0: port 1(vethc30f313) entered disabled state
[Wed Feb 20 04:09:30 2019] docker0: port 1(vethc30f313) entered disabled state
[Wed Feb 20 04:09:30 2019] docker0: port 1(vethc30f313) entered disabled state
В 04:09:23, сверху показано 500 dockerd и т. Д., А снизу в 04:09:24 это убивает 11369 счет процесса Java и т. Д.. Что это значит?Разве это не убило процесс докера?Это убило процесс Java, работающий внутри контейнера Docker?
demsg -T |grep java ср фев 20 04:09:23 2019] [3281] 503 3281 654479 38824 145 0 0 java [ср фев 20 04:09:23 2019] [11369] 0 11369 3253416 1757772 4385 0 0 java [ср фев 20 04: 09: 24 2019] Недостаточно памяти: процесс Kill 11369 (java) 914 или жертва ребенка [ср. 20 февраля 04:09:24 2019] Процесс Kill 11369 (java) total-vm: 13013664kB, anon-rss: 7031088kB,файл-rss: 0 кБ, shmem-rss: 0 кБ