StatefulKnowledgeSession使记忆饱和

时间:2018-04-28 08:48:26

标签: drools

我使用Drools 7.0来评估我的电子商务网站购物车中的促销活动。我有2300个促销/规则。

我可以看到在执行 StatefulKnowledgeSessionImpl.fireAllRules()期间 StatefulKnowledgeSession 消耗了太多内存(大约500MB)。从堆转储分析,我可以看到它主要是由于创建的 BetaMemory 对象(大约260K)。

GC后清理内存但由于GC过于频繁而导致性能问题。

我想这可能来自我的规则的复杂性,但我无法指出问题,我可能有不同的规则类型。

您是否有分享提示,以便我可以解决问题,并了解为什么网络评估会创建如此多的 BetaMemory 对象。

0 个答案:

没有答案