2
我们目前正在dockerize Java 8应用程序,我们有一个非常奇怪的行为。在docker之外,应用程序使用不到10%的cpu,但是当我们将应用程序运行到一个容器中时,我们有100%的CPU使用率。沉重的CPU使用的Docker Java 8容器
容器内部(与docker exec -it [container-id] top
),罐子只使用cpu的10%。
我们尝试使用其他基础码头图像,如openjdk
,但它不会改变任何内容。
泊坞文件:
FROM anapsix/alpine-java:8
ADD . /producer
WORKDIR /producer
COPY ikb-1.0-SNAPSHOT-producer.jar ikb-1.0-SNAPSHOT-producer.jar
COPY resources/ /resources/
CMD ["java", "-jar", "ikb-1.0-SNAPSHOT-producer.jar"]
我们使用:
- 泊坞版本: 1.13.1,建立092cba3
- 泊坞窗,撰写版本: 1.11。 2,build dfed245
- 服务器OS: CentOS的
如果您在Docker容器内运行应用程序时在主机上运行top,java进程是否显示为使用100%CPU? –
是的,就是这样! –
如果你执行'kill -3',其中'pid'是java进程,你将得到一个线程转储。线程转储看起来很奇怪吗?像它试图做网络或I/O卡住? –