docker容器中的java Sspringboot应用程序在不使用的情况下消耗大量CPU
我有一个很奇怪的问题。我有一个java web应用程序(spring boot 1.5),它在docker容器中运行
在某个时候,应用程序开始消耗CPU。 所以我认为应用程序本身有某种缺陷
但是
如果我从负载平衡器中删除该应用程序,因此它将不接受任何连接,则该应用程序将继续消耗大量CPU,甚至根本不被访问
我继续在日志文件中看到应用程序中的许多GC日志条目。 JVM似乎每300ms就继续在younggen上运行GC,即使应用程序应该完全空闲(并且它是空闲的,因为日志文件中没有任何内容)
该应用程序本身只是一个使用spring boot的网站。那里没有什么特别的东西(没有预定的任务或者其他什么)
知道这里会发生什么吗?这可能与docker有关吗
提前谢谢
# 1 楼答案
好的, 事实证明这和docker无关。是应用程序中的一个bug,创建了许多(不必要的)短期对象,需要GC