[rules-users] GC Overhead Limit Exceeded and 1B JoinLeftNode Objects

Wolfgang Laun wolfgang.laun at gmail.com
Sun Feb 17 11:15:59 EST 2013


What about running
   jmap -histo:live <ps>
after 1, 10 and 100 cycles? Just insert a sleep long enough to let you
run the utility.
-W

On 17/02/2013, Julian Klein <julianklein at gmail.com> wrote:
> Hi all,
>
> I trying to run Drools Expert with varying sizes of memory, but no matter
> how large I go the system continues to thrown OoM Exceptions.  As my
> application runs memory slowly, but steadily dries up.  Perhaps this is
> related to the other recent thread regarding memory leaks?  I have searched
> high and low in the forums with no luck on what could cause this problem.
>  It seems like a memory leak to me at this point as I have profiled and
> found no problems in my code.
>
> How My App Works:
>
> Anyway, my application creates a StatefulKnowledgeSession with ~100 rules,
> inserts a 1000 facts, fires all rules, inserts new facts created from the
> first run, changes the agenda, fires rules again and then disposes the
> session and related resources.  It does this in tight loops, thousands of
> times.  This means there should not be 1B objects floating around in memory
> from Drools.
>
> I have thought of a few ways out:
>
>  1) reduce the speed at which I create and dispose rule sessions; not ideal
> for performance
>  2) re-using the session though this seems it will cause more memory issues
>  3) move to stateless knowledge sessions, but for some reason some of my
> utility functions fail with this approach.
>
>
> Any insight would be appreciated.
>
> Thanks,
> Julian
>


More information about the rules-users mailing list