高GC时间下降

时间:2018-01-31 02:57:51

标签: garbage-collection drools

在我的情况下,我想使用drools处理实时流(来自kafka)消息作为事实。

在预工作,我测试与JVM PARAMS以下代码的drools(版本7.5.0.Final)(-Xms1500m -Xmx1500m -Xmn500m,JDK 1.8):

[code sample : simulate continuous facts with while method][1]

测试结果是(应用程序运行超过24小时):

jconsole monitor

从显示器中获取,我发现GC太高了,我猜这个事实是位于工作内存中的参考,所以在主要的GC采集之前不能释放。

有没有任何方法可以明确地释放事实?或者我如何降低GC集合(主要GC)?

1 个答案:

答案 0 :(得分:1)

如果您的事实属于事件,则您可以利用Drools' expiration policies个事件自动从会话中删除您的事实。

如果没有,您的会话将变得越来越大。 Drools需要记忆中的所有事实才能发挥作用。您可以通过以下选项之一手动收回会话中的事实:

希望它有所帮助,