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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何获取在docker容器中运行的tomcat的CPU使用率[关闭]相关的知识,希望对你有一定的参考价值。

我的应用程序设置:通过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中的数字不同?怎么解释他们?

谢谢

答案

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不会在同一时间监视活动,并且可以报告(和聚合)不同的活动峰值。

以上是关于如何获取在docker容器中运行的tomcat的CPU使用率[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

docker安装tomcat需要安装jdk吗

如何设置Docker容器中Java应用的内存限制

如何以编程方式(在 Docker 上)获取运行容器的容器 ID?

如何在从 docker 容器运行的 jupyter 笔记本中获取黑色代码格式?

使用 Docker 运行 Tomcat 容器

无法在 docker 容器中远程调试 Java 9 Tomcat 9