Proton CEP:几小时后100%的CPU使用率

时间:2016-02-17 09:04:37

标签: java tomcat tomcat7 fiware fiware-orion

我在我自己的服务器上部署了一个Proton CEP实例,它有2个CPU和4GB RAM。

让它在夜间工作后,CPU使用量会大幅增加,最高可达每个核心的100%。正在执行的命令是:

java -Djava.security.egd=file:/dev/./urandom -Djava.awt.headless=true -Xmx512m -XX:MaxPermSize=256m -XX:+UseConcMarkSweepGC -classpath /usr/share/tomcat/bin/bootstrap.jar:/usr/share/tomcat/bin/tomcat-juli.jar:/usr/share/java/commons-daemon.jar -Dcatalina.base=/usr/share/tomcat -Dcatalina.home=/usr/share/tomcat -Djava.endorsed.dirs= -Djava.io.tmpdir=/var/cache/tomcat/temp -Djava.util.logging.config.file=/usr/share/tomcat/conf/logging.properties -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager org.apache.catalina.startup.Bootstrap start

查看日志,我也看到了:

Feb 17, 2016 10:00:00 AM com.ibm.hrl.proton.server.executorServices.SimpleThreadFactory$ProtonExceptionHandler uncaughtException
SEVERE: Uncaught exception in thread: Thread[31516,5,main],exception: Java heap space
Feb 17, 2016 10:02:31 AM com.ibm.hrl.proton.server.executorServices.SimpleThreadFactory$ProtonExceptionHandler uncaughtException
SEVERE: Uncaught exception in thread: Thread[31643,5,main],exception: Java heap space

htop开始,似乎最多2 GB的RAM仍然是免费的。

这是正常的吗?

同一台服务器也在运行Orion,但是那台服务器没有遇到问题。

1 个答案:

答案 0 :(得分:1)

问题在于,由于我们的代码中存在错误,我们向Orion发送了更大的请求,并将数据转发给了Proton。最终请求从100B增加到超过50MB,导致Proton失速,因为它无法及时处理所有数据。