Java Drools-规则数量和permgen空间之间是否存在直接关联?

Java Drools-规则数量和permgen空间之间是否存在直接关联?,java,drools,permgen,Java,Drools,Permgen,我用100条规则运行drools决策表,结果很好。但是,当我将规则的数量增加到1000条时,我开始出现permgen空间错误。我不得不将permgen增加到256MB,以适应3000条规则。我担心的是,随着我不断添加规则,我可能需要越来越多的permgen 由于这个问题,我正在考虑不使用drools并开发自定义解决方案 这是正确的观察结果,还是我做错了什么导致perm gen空间需求从下面的链接增加了,看起来我们可以禁用Java 7的permgenThreshold,尽管这会对规则评估性能产生负

我用100条规则运行drools决策表,结果很好。但是,当我将规则的数量增加到1000条时,我开始出现permgen空间错误。我不得不将permgen增加到256MB,以适应3000条规则。我担心的是,随着我不断添加规则,我可能需要越来越多的permgen

由于这个问题,我正在考虑不使用drools并开发自定义解决方案


这是正确的观察结果,还是我做错了什么导致perm gen空间需求从下面的链接增加了

,看起来我们可以禁用Java 7的permgenThreshold,尽管这会对规则评估性能产生负面影响

就所占用的永久性空间而言,增加的需求并不重要 由新的phreak算法引起,但主要是因为 drools 6约束是jitted的,即转换成字节码,然后 在编译模式下求值,而不是对每个 评价您可以对permgen空间进行更细粒度的控制 用于drools设置“drools.PermgentThreshold”系统属性。 此属性表示PermGen使用的阈值(在 百分比),超过该百分比时,引擎停止抖动约束并让 它们以解释模式运行。特别是将此属性设置为0 将完全关闭此优化,但我不建议您这样做 这样做是因为性能增益来自于对 编译模式中的约束确实相关。我的建议,至少 至少从长远来看,是迁移到不再具有 与正常堆空间分离的PermGen空间


是的,我们知道这个问题