You can use Eclipse MAT
Vijay
From: rules-users-bounces(a)lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On
Behalf Of miguel machado
Sent: Thursday, April 01, 2010 5:31 AM
To: Rules Users List
Subject: Re: [rules-users] drools expert: memory issues
Hi there,
Actually that's a very good suggestion, i hadn't thought about that. Is there any
heap inspector tool you'd recommend?
In what comes to Wolfgang ideas, it makes sense what he said, but the truth is making the
knowledge builder a static variable actually made memory usage lower (just a bit). I know
it strikes as a surprise because one of the good practices in java is to reduce the
variable/object scope as much as possible :-/ I'll try to investigate this further.
About the kbase serializing, i'll give it another try.
thanks for all support so far guys.
_ miguel
2010/4/1 Jevon Wright <jevon@jevon.org<mailto:jevon@jevon.org>>
Hi Miguel,
I assume that you've used a memory analyzer to find out conclusively that the memory
usage is by Drools, and not a memory leak?
One way to do this is to limit the virtual memory to a small amount, add
-XX:+HeapDumpOnOutOfMemoryError to your environment, and then using Memory Analyzer to
analyse the dump.
Cheers
Jevon
On Wed, Mar 31, 2010 at 2:44 AM, Miguel Machado
<mls.machado@gmail.com<mailto:mls.machado@gmail.com>> wrote:
hi all,
I'm quite new to the drools rule engine and i've been using it for a project where
i need to filter events and execute actions accordingly.
I'm currently running a DRL file and creating a stateful session from it, and then
running 2/3 facts every time. Every X seconds I collect the available facts and call
fireAllRules() + dispose(), always within the same session. The DRL file has circa 2160
rules declared (an external program is producing them), and i'm using the
"no-loop", "lock-on-active", "activation-group" and
"agenda-group" options on almost every one.
My main problem is that the software is consuming too much memory when it loads the rules
to the knowledge base variable, it reaches +300Mb which is just not affordable in this
project. Is there any way i can work around this? I've tried setting some
configuration properties but to no avail. What techniques may i try in order to reduce
memory load on drools startup? What would be the best approach for dealing with so many
rules?
Anything would help, thanks in advance,
_ miguel
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org<mailto:rules-users@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org<mailto:rules-users@lists.jboss.org>
https://lists.jboss.org/mailman/listinfo/rules-users
--
"To understand what is recursion you must first understand recursion"