2

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

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

1、我用JavaMeloday来获取% System CPU 93.36更多细节

2、我以前用JavaMelodydocker stats <docker id>弄的那个CPU %356%同时用的。% System CPU 93.36

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

谢谢

4

1 回答 1

1

moby/moby 问题 26711中所述:

800% 在这里是正确的,这是表示 8 个内核 100% 处于使用状态的标准符号。

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

相对于Javamelody,在《A Step-by-Step Guide to Tomcat Performance Monitoring》中使用,它通过JMX来监控Java应用,报告更多:来自《Java——通过OperatingSystemMXBean监控多线程应用的cpu和系统负载》 ,该值是所有内核的总和)。

问题是:docker stats 和 javamelody 不会同时监控活动,并且可以报告(和汇总)不同的活动峰值。

于 2018-02-28T21:48:29.933 回答