如何获取在docker容器中运行的tomcat的CPU使用率[关闭]

问题描述 投票:2回答:1

我的应用程序设置:通过docker-compose设置4个docker容器:myapplication(tomcat,jersey application),kafka,postgres,zookeeper。

我需要知道tomcat容器的CPU使用率。

1,我用JavaMeloday来获取% System CPU 93.36more details

2,我使用docker stats <docker id>来获得CPU %356%同时与JavaMelody的% System CPU 93.36

在我的机器中,有8个核心。为什么1和2中的数字不同?怎么解释他们?

谢谢

java tomcat docker cpu-usage java-melody
1个回答
1
投票

moby/moby issue 26711中所述:

这里800%是正确的,这是一个标准符号,用于说明8个核心100%正在使用中。

所以356%意味着docker容器进程(不仅仅是java Tomcat)使用了8个内核中的近4个。

与通过JMX监视Java应用程序的“A Step-by-Step Guide to Tomcat Performance Monitoring”中使用的Javamelody相反,并报告更多:来自“Java – monitoring cpu and system load of multi-threaded application via OperatingSystemMXBean”,该值是所有核心的聚合)。

问题是:docker stats和javamelody不会在同一时间监视活动,并且可以报告(和聚合)不同的活动峰值。

© www.soinside.com 2019 - 2024. All rights reserved.