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

时间:2018-02-28 21:19:23

标签: java tomcat docker cpu-usage java-melody

我的应用程序设置:通过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%% System CPU 93.36同时获得JavaMelody。

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

由于

1 个答案:

答案 0 :(得分:1)

moby/moby issue 26711中所述:

  

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

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

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

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