【发布时间】:2018-04-19 16:53:15
【问题描述】:
我正在运行一个本地 docker-compose 设置,它有一个 Zookeeper 容器(获取最新的)和一个 Marathon 容器(v1.1.0)。从上个月开始,每当我启动容器时,即使在我保持空闲且不执行任何操作之后,几分钟后我的 CPU 使用率也会达到 100%。
我的设置 - 带有 docker-ce 18.03.0 和 docker-compose 1.21.0 的 Ubuntu 17.10
Running top 给了我这个 -
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
7055 root 20 0 4527380 446644 45836 S 99.0 6.5 2:10.43 java
ps 辅助 | grep java 给出了这个 -
harry 6928 0.1 0.6 3227008 47656 ? Ssl 16:00 0:02 /usr/lib/jvm/java-1.8-openjdk/jre/bin/java -Dzookeeper.log.dir=. -Dzookeeper.root.logger=INFO,CONSOLE -cp /zookeeper-3.4.11/bin/../build/classes:/zookeeper-3.4.11/bin/../build/lib/*.jar:/zookeeper-3.4.11/bin/../lib/slf4j-log4j12-1.6.1.jar:/zookeeper-3.4.11/bin/../lib/slf4j-api-1.6.1.jar:/zookeeper-3.4.11/bin/../lib/netty-3.10.5.Final.jar:/zookeeper-3.4.11/bin/../lib/log4j-1.2.16.jar:/zookeeper-3.4.11/bin/../lib/jline-0.9.94.jar:/zookeeper-3.4.11/bin/../lib/audience-annotations-0.5.0.jar:/zookeeper-3.4.11/bin/../zookeeper-3.4.11.jar:/zookeeper-3.4.11/bin/../src/java/lib/*.jar:/conf: -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=false org.apache.zookeeper.server.quorum.QuorumPeerMain /conf/zoo.cfg
root 7055 11.9 6.6 4527380 459896 ? Ssl 16:00 3:35 java -jar /marathon/bin/../target/marathon-assembly-1.1.1.jar --master local --zk zk://zookeeper:2181/marathon --event_subscriber http_callback
harry 8551 0.0 0.0 15376 1068 pts/4 S+ 16:30 0:00 grep --color=auto java
我已与运行 OSX 的同事确认,相同的设置不会影响他们。所以这与 marathon 或 zookeeper 容器在 Ubuntu 上做错事有关。
【问题讨论】:
-
我需要更多关于您的计算机的信息,而不仅仅是关于软件的信息。例如,核心数 (
/proc/cpuinfo) 有了它,您可以使用--cpus、--cpu-quota或--cpuset-cpus选项执行docker run。 -
@AlexGalera 2 核 - G4400T。是的,我认为强制 CPU 限制可能是一个很好的解决方案。让我试试看是否有帮助。
标签: ubuntu docker docker-compose apache-zookeeper marathon