Pavel,
I don't want to profile my application, as I am sure that there is no memory leak
happening either on the drools side or in my code, and I know that memory for the app is
not enough. I am running my app on 10G memory with 75000 objects/facts (taking about 600
MB heap), and running about 75 complex rules across these facts. One solution is to
increase the heap, but is there anything else that I can do (other than adding drools
properties as mentioned in my earlier email). Also, is it possible to know how much time
each rule took to execute on a set of facts, when we apply a bunch of rules together in a
stateless session? This would help me debug such issues easily when new rules are added to
my application.
Thanks
Malay Shah
-----Original Message-----
From: rules-users-bounces(a)lists.jboss.org [mailto:rules-users-bounces@lists.jboss.org] On
Behalf Of Pavel Tavoda
Sent: Tuesday, March 02, 2010 3:26 AM
To: Rules Users List
Subject: Re: [rules-users] Drools memory usage issue
At first start with tuning JVM. Xms, Xmx parameters. How much physical memory you have? If
above 3.xx GB you need 64 bit JVM. If this is not enough just kick Profiler.
Pavel
2010/3/2 Shah, Malay <Malay.Shah(a)morganstanley.com>:
Hi,
We have an drools 5.0.1 application that uses StatelessSession and
high volume of objects (facts) that we need to apply static rules on,
and having out of memory issues doing so. We added the following three
properties as given in the drools documentation for decreasing the memory usage:
drools.shadowproxy=false
drools.maintainTms=false
drools.sequential=true
As per the following blog, there is an algorithm to minimize the
engine work, and memory usage.
http://blog.athico.com/2007/07/sequential-rete.html
Are the properties above sufficient to trigger this algorithm, or do
we need to do write extra code for this?
Also, does the "drools.sequential" property make sure that rules are
applied sequentially on facts? If so, is there a hook into the drools
engine to figure out which particular rule is consuming more memory or
having more execution time?
Thanks in advance.
Malay Shah
________________________________
NOTICE: If received in error, please destroy, and notify sender.
Sender does not intend to waive confidentiality or privilege. Use of
this email is prohibited when received in error. We may monitor and
store emails to the extent permitted by applicable law.
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users(a)lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
--------------------------------------------------------------------------
NOTICE: If received in error, please destroy, and notify sender. Sender does not intend to
waive confidentiality or privilege. Use of this email is prohibited when received in
error. We may monitor and store emails to the extent permitted by applicable law.