[rules-users] Drools memory usage issue

Mark Proctor mproctor at codehaus.org
Thu May 27 05:23:37 EDT 2010


On 02/03/2010 14:50, Shah, Malay wrote:
> 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.
>    
Have you had any progress here? There is no "out of the box" way to get 
the information you need.

mark
> Thanks
>
> Malay Shah
>
> -----Original Message-----
> From: rules-users-bounces at lists.jboss.org [mailto:rules-users-bounces at 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 at 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 at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>>      
> _______________________________________________
> rules-users mailing list
> rules-users at 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.
>
> _______________________________________________
> rules-users mailing list
> rules-users at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>    





More information about the rules-users mailing list