Java Jetty消耗100%的CPU,它';它就像一只突堤虫

Java Jetty消耗100%的CPU,它';它就像一只突堤虫,java,jakarta-ee,jetty,profiling,cpu-usage,Java,Jakarta Ee,Jetty,Profiling,Cpu Usage,Jetty 9.4.1.v20170120 更新: Jetty 9.4.3.v20170317的相同结果 此web应用程序有一个TCP客户端,并使用web套接字(Atmosphere)推送数据 在几分钟/小时的工作之后,web应用程序开始使用100%的CPU,而无需任何特定原因。即使在空闲时 在分析和获取线程转储之后,似乎Jetty是高CPU消耗的根源 那么,Jetty有什么问题?这是一个bug吗? 下面我列出了当CPU消耗达到100%时(使用VisualVM)评测后的一些证据: 正在运行的

Jetty 9.4.1.v20170120

更新: Jetty 9.4.3.v20170317的相同结果


此web应用程序有一个
TCP客户端
,并使用
web套接字
Atmosphere
)推送数据

在几分钟/小时的工作之后,web应用程序开始使用100%的CPU,而无需任何特定原因。即使在
空闲时

在分析和获取线程转储之后,似乎
Jetty
是高CPU消耗的根源

那么,Jetty有什么问题?这是一个bug吗?

下面我列出了当CPU消耗达到100%时(使用
VisualVM
)评测后的一些证据:

  • 正在运行的线程(单击以放大图像)

  • CPU采样器:

  • 每个线程的CPU采样器:

  • 内存采样器:

  • 进程状态(使用processExplorer):

  • 进程性能(使用processExplorer):

我不知道你是否可以,但如果可以,无限循环是世界上最容易找到的东西。一旦挂起,每个堆栈样本都肯定会出现问题。您只需要1、2或3个样本。罪魁祸首就在每一堆样品上。