Esper 5.4 java进程CPU占用率高

Posted

技术标签:

【中文标题】Esper 5.4 java进程CPU占用率高【英文标题】:Esper 5.4 java process High CPU usage 【发布时间】:2017-02-16 05:51:48 【问题描述】:

我们已将 Esper 从 4.9 升级到 5.4 版本。在 Esper 4.9 版本中,我们在应用程序中遇到了 Esper “内存不足” 问题。然后我们将 Esper 升级到 5.4。

Esper “内存不足” 问题已得到修复,但现在我们面临 Esper 5.4高 CPU 使用率问题。 Esper 5.5 版本也面临同样的问题。

我们的系统中使用的是 Java 8 版本。

请建议,我该如何调查: 应用程序的哪个部分或哪个线程导致 CPU 使用率过高? 为什么我在使用 Esper 最新版本时会遇到 CPU 使用率过高的问题。

【问题讨论】:

【参考方案1】:

可能是垃圾收集器导致 CPU 过高。监控堆内存?如果堆太紧,垃圾收集器会经常启动并使用高 CPU。通过巧妙地设计 EPL 语句来减少内存使用。 Esper 文档有关于内存使用的提示。在此处发布您的 EPL。根据 EPL 和正在处理的事件,Esper 引擎要么不使用内存,要么可以使用大量内存。

【讨论】:

我已经监控了Heap内存,好像没问题。当我们对 Esper 引擎施加压力时,CPU 使用率会很高。但即使在该过程完成后它也不会下降。 在此处提供 EPL。也可能“完成”意味着时间还在流逝,还有工作要做。取决于 EPL。

以上是关于Esper 5.4 java进程CPU占用率高的主要内容,如果未能解决你的问题,请参考以下文章

linux java cpu占用过高怎么办

java有啥类可以获得cpu占用率?

如何获取某个进程的cpu占用率

如何定位cpu占用率高的java线程

Java内存CPU占用率过高

Oracle内存和CPU占用率极高,是啥问题