I would not worry about this, especially on solaris. 

You're first test was invalid.  You ran on an idle system.  The OS is going to give the Java process whatever amount of the CPU it needs to complete its work.  On an idle system, there is nothing competing for the CPU.  In this scenario, a very simple process will chew up CPU.  If you don't believe me, create an app that adds .00001 in a loop until it reaches a billion.  You'll see this process get all kinds of CPU, but will yield to other applications when it needs to.

By this - "while I was doing this, Other apps contacted me about this and showed their
concern too."  I assume you mean people contacted you that saw the CPU was high?  Did they have any indication their apps slowing down? Probably not.

Solaris does a real nice job of managing system resources.  I've freaked out our operations guys by running systems at 100% more than once. ;-)  I had the boxes doing a lot of work, but not thrashing the CPU.

Learn to use vmstat and monitor the run queue.  Generally, if this is not getting over 1 or 2, you're fine.


On Wed, Mar 25, 2009 at 7:16 AM, techy <techluver007@gmail.com> wrote:

Thanks for your valuable input.

I did further testing in TEST solaris machine where other apps too are
running.

1.In the consumer, I launched 5-10 threads of parallel execution with drools
stateless session. It did performed well with more cpu usage. it maintained
avg cpu usage of 65-70%. occasional spikes went to 85-90%.
while I was doing this, Other apps contacted me about this and showed their
concern too.

So this brings up another question.  Will drools high cpu usage degrade
other app performance when they are running in same machine & same time?

Thanks again!


nheron wrote:
>
> Hello,
> Yes, when running drools, the cpu usages goes high.
> It is one of the main caracteristic with rule engine : the more cpu you
> have the quickler it is !!
> It is normal because all the rete graph & Co are in ram and drools work
> on it.
> So there is not wait for database, IO and co so CPU goes very high very
> quicly but is is normal !
> All my customers have this surprise : a 4 CPU machine instead one one
> makes it able to have 4 concurrent drools sessions to work in parallele
> with the same performance as one session on one CPU  !
> Regards
> Nicolas Heron
>
> Regards
> Nicolas
> Le mercredi 25 mars 2009 à 10:05 +0100, Wolfgang Laun a écrit :
>
>> The figures you gave just indicate that you have a good balance
>> between I/O
>> and CPU load. The increase between "no rules" and "~60 rules" is to be
>> expected
>> as all the work is being done during fact insertion. Of course, adding
>> more and
>> more rules will, eventually, push the CPU load factor to the natural
>> upper limit.
>>
>> If the overall throughput is good, why do you worry?
>>
>> -W
>>
>>
>>
>> On Tue, Mar 24, 2009 at 11:20 PM, techy <techluver007@gmail.com>
>> wrote:
>>
>>
>>         Hello
>>         My app is functioning consumer/producer model.
>>         1.Producer reads the data from DB and inserts to blocking
>>         queue
>>         2.Consumer reads the data from queue and execute the rules
>>         using drools
>>         stateless session.
>>         Both producer and consumer run asynchronously.
>>
>>         in my testing I found the following
>>
>>         1. for 1000 facts at a time and no rules in drl, cpu usage is
>>         maintained at
>>         25-30% in my PC(Intel core 2 CPU,2.13 GH,2G RAM)  - with no
>>         rules in drl, Is
>>         this cpu usage  acceptable?
>>         2. for 1000 facts at a time and ~60 rules in drl, cpu usage is
>>         maintained at
>>         50-60% on the same PC.
>>         3. If I have 1 sec wait between each execution of rules in
>>         consumer, then
>>         cpu usage is maintained < 5%
>>
>>         high CPU usage is being big concern to me. Is this expected
>>         while using
>>         drools? Do others see same cpu usage too?  Please share your
>>         thoughts.
>>         appreciate your input.
>>
>>         Thanks
>>
>>         --
>>         View this message in context:
>>         http://www.nabble.com/high-cpu-usage-tp22691131p22691131.html
>>         Sent from the drools - user mailing list archive at
>>         Nabble.com.
>>
>>         _______________________________________________
>>         rules-users mailing list
>>         rules-users@lists.jboss.org
>>         https://lists.jboss.org/mailman/listinfo/rules-users
>>
>>
>>
>> _______________________________________________
>> rules-users mailing list
>> rules-users@lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/rules-users
>
> _______________________________________________
> rules-users mailing list
> rules-users@lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/rules-users
>
>

--
View this message in context: http://www.nabble.com/high-cpu-usage-tp22691131p22699498.html
Sent from the drools - user mailing list archive at Nabble.com.


_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users