[rules-users] Drools Perm gen grows constantly

pmander paul.s.mander at gmail.com
Thu Nov 7 06:04:12 EST 2013


Fairly new to drools here but we are using it on a standalone application to
do some batch processing. The application is spring based and
single-threaded. I am using a single stateful session that I build around
15,000 rules dynamically on process startup. 

The application then receives a message to process a set of records through
the rules and write out the results. To do this I insert the data as facts
and run a query to get the results. I must then remove all the facts that I
created and also all the object that where created by the rules so that the
session can be used for the next batch of records. 

This works fine and meets our performance requirements. However, after a
time the process fails and upon investigation this is due to the perm gen
space filling up with classes. The heap itself is fine and steady by the
number of classes in the JVM keeps growing. These classes are all
DefaultConsequenceInvokerGenerated classes appear to be created when my new
facts are inserted. 

This is running on a 1.7 oracle JVM and I've tried -XX:+UseConcMarkSweepGC
-XX:+CMSClassUnloadingEnabled but nothing helps. 

So is this expected behaviour? Is there an issue with how I am using drools? 

Any help much appreciated.



--
View this message in context: http://drools.46999.n3.nabble.com/Drools-Perm-gen-grows-constantly-tp4026673.html
Sent from the Drools: User forum mailing list archive at Nabble.com.


More information about the rules-users mailing list