You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by pratibhaG <pr...@in2m.com> on 2008/07/29 15:37:26 UTC

Why memory utilization is so high for servicemix?

I am doing load testing for servicemix. 

This is the data and observation I have.
18885 is the PID for servicemix

1)Started servicemix after it started the memory utilization is :
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
18885 pghogale  16   0 1112m 272m  36m S    2 31.0   1:33.30 java

2)hit request for 100 users concurrently first time. After all requests were
processed:
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
18885 pghogale  16   0 1598m 510m  37m S    6 58.2   3:27.13 java

Everything was fine every request processed successfully

3)hit request for 100 users concurrently second time. After all requests
were processed:
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
18885 pghogale  16   0 1807m 563m 7372 S    7 64.2   5:46.78 java

Everything was fine every request processed successfully

4)hit request for 100 users concurrently third time. After all requests were
processed:
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
18885 pghogale  16   0 2059m 656m 4440 S   12 74.8  17:26.24 java

Here the procesing was very slow and I got timeout error at servicemix and
at client.

5)After next 20 minutes of 4)
PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
18885 pghogale  16   0 2100m 625m 3872 S   22 71.3  23:45.05 java

Why servicemix consumes this much memory? Why it does not frees it up after
some processing is done?
Am I missing some configuration?

Memory consumption just goes on increasing. Why so? Please help....

-Pratibha


-- 
View this message in context: http://www.nabble.com/Why-memory-utilization-is-so-high-for-servicemix--tp18712344p18712344.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Why memory utilization is so high for servicemix?

Posted by Guillaume Nodet <gn...@gmail.com>.
The memory consumption is mainly controlled by the number of threads
configured in the conf/servicemix.properties file.
For each thread pool, there is a number of threads that stay alive
forever, and some that are destroyed if unused for a certain amount of
time.
All these parameters can be controlled, see
http://servicemix.apache.org/thread-pools.html for more infos.

Also, if you use some custom code, it may happen that you don't follow
all the jbi rules and this could lead to threads waiting a response
forever...

On Tue, Jul 29, 2008 at 3:37 PM, pratibhaG <pr...@in2m.com> wrote:
>
> I am doing load testing for servicemix.
>
> This is the data and observation I have.
> 18885 is the PID for servicemix
>
> 1)Started servicemix after it started the memory utilization is :
>  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
> 18885 pghogale  16   0 1112m 272m  36m S    2 31.0   1:33.30 java
>
> 2)hit request for 100 users concurrently first time. After all requests were
> processed:
> PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
> 18885 pghogale  16   0 1598m 510m  37m S    6 58.2   3:27.13 java
>
> Everything was fine every request processed successfully
>
> 3)hit request for 100 users concurrently second time. After all requests
> were processed:
> PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
> 18885 pghogale  16   0 1807m 563m 7372 S    7 64.2   5:46.78 java
>
> Everything was fine every request processed successfully
>
> 4)hit request for 100 users concurrently third time. After all requests were
> processed:
> PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
> 18885 pghogale  16   0 2059m 656m 4440 S   12 74.8  17:26.24 java
>
> Here the procesing was very slow and I got timeout error at servicemix and
> at client.
>
> 5)After next 20 minutes of 4)
> PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
> 18885 pghogale  16   0 2100m 625m 3872 S   22 71.3  23:45.05 java
>
> Why servicemix consumes this much memory? Why it does not frees it up after
> some processing is done?
> Am I missing some configuration?
>
> Memory consumption just goes on increasing. Why so? Please help....
>
> -Pratibha
>
>
> --
> View this message in context: http://www.nabble.com/Why-memory-utilization-is-so-high-for-servicemix--tp18712344p18712344.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Why memory utilization is so high for servicemix?

Posted by pratibhaG <pr...@in2m.com>.
I tried using latest version 3.2.2 of servicemix. Still the problem is same.

Pratibha
-- 
View this message in context: http://www.nabble.com/Why-memory-utilization-is-so-high-for-servicemix--tp18712344p18805362.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Why memory utilization is so high for servicemix?

Posted by pratibhaG <pr...@in2m.com>.
Regarding the first cause:
In my smx logs I see that my custom services (two bean services that I have
written) sends DONE. This I have seen by hitting single request:
Here are the logs:
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-17:0
  status: Active
  role: consumer
  service:
{http://servicemix.in2m.com/operations/changepassword}MessageEnricherService
  in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
        <updatePassword>
                <userName>san</userName>
                        <password>mvelopes</password>
        </updatePassword>
</request>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}MessageEnricherService
DEBUG - HttpComponent                  - Suspending continuation for
exchange: ID:192.168.2.64-11b7861e31c-17:0
DEBUG - BeanComponent                  - Received exchange: status: Active,
role: provider
DEBUG - BeanComponent                  - Retrieved correlation id:
ID:192.168.2.64-11b7861e31c-17:0
INFO  - JBIContainer                   - Activating component for:
[container=ServiceMix,name=ID:192.168.2.64-11b7861e31c-0:0] with service:
null component: org.apache.servicemix.client.DefaultServiceMixClient@1d71fbe
INFO  - ComponentMBeanImpl             - Initializing component:
ID:192.168.2.64-11b7861e31c-0:0
INFO  - ComponentMBeanImpl             - Starting component:
ID:192.168.2.64-11b7861e31c-0:0
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-33:0
  status: Active
  role: consumer
  service:
{http://servicemix.in2m.com/operations/changepassword}ValidateService
  in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
        <updatePassword>
                <userName>san</userName>
                        <password>mvelopes</password>
        </updatePassword>
</request>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}ValidateService
DEBUG - CamelJbiComponent              - Received exchange: status: Active,
role: provider
DEBUG - CamelJbiComponent              - Retrieved correlation id:
ID:192.168.2.64-11b7861e31c-17:0
DEBUG - CamelJbiEndpoint               - Received exchange: InOut[
  id: ID:192.168.2.64-11b7861e31c-33:0
  status: Active
  role: provider
  service:
{http://servicemix.in2m.com/operations/changepassword}ValidateService
  endpoint: camel192-168-2-64-11b7861e31c-21-5
  in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
        <updatePassword>
                <userName>san</userName>
                        <password>mvelopes</password>
        </updatePassword>
</request>
]
DEBUG - DefaultValidationErrorHandler  - error:
org.xml.sax.SAXParseException: cvc-minLength-valid: Value 'san' with length
= '3' is not facet-valid with respect to minLength '6' for type
'userNamePasswordType'.
org.xml.sax.SAXParseException: cvc-minLength-valid: Value 'san' with length
= '3' is not facet-valid with respect to minLength '6' for type
'userNamePasswordType'.
        at
com.sun.org.apache.xerces.internal.jaxp.validation.Util.toSAXParseException(Util.java:109)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ErrorHandlerAdaptor.error(ErrorHandlerAdaptor.java:104)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:429)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3185)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidType(XMLSchemaValidator.java:3113)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processElementContent(XMLSchemaValidator.java:3025)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleEndElement(XMLSchemaValidator.java:2178)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(XMLSchemaValidator.java:814)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl.endElement(ValidatorHandlerImpl.java:345)
        at
org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1101)
        at org.apache.xml.serializer.TreeWalker.endNode(TreeWalker.java:458)
        at
org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:149)
        at
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:389)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.process(ValidatorImpl.java:220)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:141)
        at
org.apache.camel.processor.validation.ValidatingProcessor.process(ValidatingProcessor.java:67)
        at
org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:92)
        at
org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:66)
        at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
        at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:146)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:90)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:85)
        at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
        at
org.apache.servicemix.camel.CamelJbiEndpoint.handleActiveProviderExchange(CamelJbiEndpoint.java:101)
        at
org.apache.servicemix.camel.CamelJbiEndpoint.process(CamelJbiEndpoint.java:74)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
DEBUG - DefaultValidationErrorHandler  - error:
org.xml.sax.SAXParseException: cvc-type.3.1.3: The value 'san' of element
'userName' is not valid.
org.xml.sax.SAXParseException: cvc-type.3.1.3: The value 'san' of element
'userName' is not valid.
        at
com.sun.org.apache.xerces.internal.jaxp.validation.Util.toSAXParseException(Util.java:109)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ErrorHandlerAdaptor.error(ErrorHandlerAdaptor.java:104)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:382)
        at
com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:429)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3185)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidType(XMLSchemaValidator.java:3114)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processElementContent(XMLSchemaValidator.java:3025)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleEndElement(XMLSchemaValidator.java:2178)
        at
com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(XMLSchemaValidator.java:814)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorHandlerImpl.endElement(ValidatorHandlerImpl.java:345)
        at
org.apache.xalan.transformer.TransformerIdentityImpl.endElement(TransformerIdentityImpl.java:1101)
        at org.apache.xml.serializer.TreeWalker.endNode(TreeWalker.java:458)
        at
org.apache.xml.serializer.TreeWalker.traverse(TreeWalker.java:149)
        at
org.apache.xalan.transformer.TransformerIdentityImpl.transform(TransformerIdentityImpl.java:389)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.process(ValidatorImpl.java:220)
        at
com.sun.org.apache.xerces.internal.jaxp.validation.ValidatorImpl.validate(ValidatorImpl.java:141)
        at
org.apache.camel.processor.validation.ValidatingProcessor.process(ValidatingProcessor.java:67)
        at
org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:92)
        at
org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:66)
        at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
        at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:146)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:90)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:85)
        at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
        at
org.apache.servicemix.camel.CamelJbiEndpoint.handleActiveProviderExchange(CamelJbiEndpoint.java:101)
        at
org.apache.servicemix.camel.CamelJbiEndpoint.process(CamelJbiEndpoint.java:74)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
ERROR - DeadLetterChannel              - Failed delivery for exchangeId:
ID-gpratibha.site/45980-1217495417458/0-0. On delivery attempt: 0 caught:
org.apache.camel.processor.validation.SchemaValidationException: Validation
failed for:
com.sun.org.apache.xerces.internal.jaxp.validation.xs.SchemaImpl@8aa7f4
errors: [org.xml.sax.SAXParseException: cvc-minLength-valid: Value 'san'
with length = '3' is not facet-valid with respect to minLength '6' for type
'userNamePasswordType'., org.xml.sax.SAXParseException: cvc-type.3.1.3: The
value 'san' of element 'userName' is not valid.] on the exchange:
Exchange[JbiMessage:
org.apache.servicemix.jbi.messaging.NormalizedMessageImpl@118b3a3{properties:
{destination={http://servicemix.in2m.com/operations/changepassword}ValidateService,
userPrincipals=[users, director]}}]
org.apache.camel.processor.validation.SchemaValidationException: Validation
failed for:
com.sun.org.apache.xerces.internal.jaxp.validation.xs.SchemaImpl@8aa7f4
errors: [org.xml.sax.SAXParseException: cvc-minLength-valid: Value 'san'
with length = '3' is not facet-valid with respect to minLength '6' for type
'userNamePasswordType'., org.xml.sax.SAXParseException: cvc-type.3.1.3: The
value 'san' of element 'userName' is not valid.] on the exchange:
Exchange[JbiMessage:
org.apache.servicemix.jbi.messaging.NormalizedMessageImpl@118b3a3{properties:
{destination={http://servicemix.in2m.com/operations/changepassword}ValidateService,
userPrincipals=[users, director]}}]
        at
org.apache.camel.processor.validation.DefaultValidationErrorHandler.handleErrors(DefaultValidationErrorHandler.java:77)
        at
org.apache.camel.processor.validation.ValidatingProcessor.process(ValidatingProcessor.java:69)
        at
org.apache.camel.impl.ProcessorEndpoint.onExchange(ProcessorEndpoint.java:92)
        at
org.apache.camel.impl.ProcessorEndpoint$1.process(ProcessorEndpoint.java:66)
        at
org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
        at
org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:146)
        at
org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:90)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:101)
        at org.apache.camel.processor.Pipeline.process(Pipeline.java:85)
        at
org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:39)
        at
org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
        at
org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
        at
org.apache.servicemix.camel.CamelJbiEndpoint.handleActiveProviderExchange(CamelJbiEndpoint.java:101)
        at
org.apache.servicemix.camel.CamelJbiEndpoint.process(CamelJbiEndpoint.java:74)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538)
        at
org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490)
        at
org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46)
        at
org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610)
        at
org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167)
        at
org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
        at
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
        at java.lang.Thread.run(Thread.java:595)
DEBUG - DefaultExceptionPolicyStrategy - Finding best suited exception
policy for thrown exception
org.apache.camel.processor.validation.SchemaValidationException
DEBUG - DefaultExceptionPolicyStrategy - Using Exception[ [class
org.apache.camel.processor.validation.SchemaValidationException] ->
[SetBody[ Expression[null]],
To[service:http://servicemix.in2m.com/operations/changepassword/ResponseGeneratorService?mep=in-out]]]
as the exception policy
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-4:0
  status: Active
  role: consumer
  service:
{http://servicemix.in2m.com/operations/changepassword}ResponseGeneratorService
  in: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}ResponseGeneratorService
DEBUG - BeanComponent                  - Received exchange: status: Active,
role: provider
DEBUG - BeanComponent                  - Retrieved correlation id: null
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-4:0
  status: Active
  role: provider
  service:
{http://servicemix.in2m.com/operations/changepassword}ResponseGeneratorService
  endpoint: responeGeneratorEndpoint
  in: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
  out: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}ResponseGeneratorService
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-4:0
  status: Done
  role: consumer
  service:
{http://servicemix.in2m.com/operations/changepassword}ResponseGeneratorService
  endpoint: responeGeneratorEndpoint
  in: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
  out: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}ResponseGeneratorService
ERROR - DeadLetterChannel              - Failed delivery for exchangeId:
ID-gpratibha.site/45980-1217495417458/0-0. Handled by the failure processor:
Pipeline[setBody(<response><status>2000</status><message>Validation
Error</message></response>),
sendTo(Endpoint[service:http://servicemix.in2m.com/operations/changepassword/ResponseGeneratorService?mep=in-out])]
DEBUG - Pipeline                       - Message exchange has failed so
breaking out of pipeline: Exchange[JbiMessage:
org.apache.servicemix.jbi.messaging.NormalizedMessageImpl@118b3a3{properties:
{destination={http://servicemix.in2m.com/operations/changepassword}ValidateService,
org.apache.camel.Redelivered=true, userPrincipals=[users, director],
org.apache.camel.RedeliveryCounter=1}}] exception:
org.apache.camel.processor.validation.SchemaValidationException: Validation
failed for:
com.sun.org.apache.xerces.internal.jaxp.validation.xs.SchemaImpl@8aa7f4
errors: [org.xml.sax.SAXParseException: cvc-minLength-valid: Value 'san'
with length = '3' is not facet-valid with respect to minLength '6' for type
'userNamePasswordType'., org.xml.sax.SAXParseException: cvc-type.3.1.3: The
value 'san' of element 'userName' is not valid.] on the exchange:
Exchange[JbiMessage:
org.apache.servicemix.jbi.messaging.NormalizedMessageImpl@118b3a3{properties:
{destination={http://servicemix.in2m.com/operations/changepassword}ValidateService,
userPrincipals=[users, director]}}] fault: null
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-33:0
  status: Active
  role: provider
  service:
{http://servicemix.in2m.com/operations/changepassword}ValidateService
  endpoint: camel192-168-2-64-11b7861e31c-21-5
  in: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
  out: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}ValidateService
DEBUG - BeanComponent                  - Received exchange: status: Done,
role: provider
DEBUG - BeanComponent                  - Retrieved correlation id: null
#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-17:0
  status: Active
  role: provider
  service:
{http://servicemix.in2m.com/operations/changepassword}MessageEnricherService
  endpoint: messageEnricherEndpoint
  in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
        <updatePassword>
                <userName>san</userName>
                        <password>mvelopes</password>
        </updatePassword>
</request>
  out: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}MessageEnricherService
DEBUG - HttpComponent                  - Received exchange: status: Active,
role: consumer
DEBUG - HttpComponent                  - Retrieved correlation id:
ID:192.168.2.64-11b7861e31c-17:0
DEBUG - HttpComponent                  - Resuming continuation for exchange:
ID:192.168.2.64-11b7861e31c-17:0
DEBUG - JettyContextManager            - Dispatching job:
RetryContinuation@31666837,pending,resumed
DEBUG - HttpComponent                  - Receiving HTTP request: POST
/changepassword/ HTTP/1.1
Authorization: Basic ZGlyZWN0b3I6ZGlyZWN0b3JwYXNz
User-Agent: Jakarta Commons-HttpClient/3.1
Host: 192.168.2.64:8192
Content-Length: 176


#### message on NMR======: InOut[
  id: ID:192.168.2.64-11b7861e31c-17:0
  status: Done
  role: consumer
  service:
{http://servicemix.in2m.com/operations/changepassword}MessageEnricherService
  endpoint: messageEnricherEndpoint
  in: <?xml version="1.0" encoding="UTF-8"?><request
xmlns="http://www.finicity.com">
        <updatePassword>
                <userName>san</userName>
                        <password>mvelopes</password>
        </updatePassword>
</request>
  out: <?xml version="1.0"
encoding="UTF-8"?><response><status>2000</status><message>Validation
Error</message></response>
]
#### message on NMR service======:
{http://servicemix.in2m.com/operations/changepassword}MessageEnricherService
DEBUG - BeanComponent                  - Received exchange: status: Done,
role: provider
DEBUG - BeanComponent                  - Retrieved correlation id:
ID:192.168.2.64-11b7861e31c-17:0
DEBUG - JettyContextManager            - Dispatching job:
SCEP@22342001[d=true,io=1,w=true,b=false|false]


Regarding the second cause:

If i set the thread configuration as 32/64:
If I send more than 32 requests at a time requests are not processed
properly and my client just waits for reply but does not get it. As it is
synchronous request client needs response. how can I handle this?

Pratibha
-- 
View this message in context: http://www.nabble.com/Why-memory-utilization-is-so-high-for-servicemix--tp18712344p18750637.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Why memory utilization is so high for servicemix?

Posted by Guillaume Nodet <gn...@gmail.com>.
It means you have a memory leak problem.  One of the first cause is if
you deploy some custom code that does not respect the JBI semantics of
the exchanges and forget to send a DONE status.  This usually means
that threads are blocked waiting forever for a response, hence it
leads to memory leaks.  Another option is that you changed the thread
pools configuration with too high values.

On Thu, Jul 31, 2008 at 8:36 AM, pratibhaG <pr...@in2m.com> wrote:
>
> Also I found that when I hit 89 requests third time, the available memory is
> 506 MB and consumed varies between 320MB  to 350MB servicemix throws out of
> memory error.
> If has not even reached 400 MB  then why it says out of memory?
>
> Pratibha
> --
> View this message in context: http://www.nabble.com/Why-memory-utilization-is-so-high-for-servicemix--tp18712344p18748569.html
> Sent from the ServiceMix - User mailing list archive at Nabble.com.
>
>



-- 
Cheers,
Guillaume Nodet
------------------------
Blog: http://gnodet.blogspot.com/

Re: Why memory utilization is so high for servicemix?

Posted by pratibhaG <pr...@in2m.com>.
Also I found that when I hit 89 requests third time, the available memory is
506 MB and consumed varies between 320MB  to 350MB servicemix throws out of
memory error.
If has not even reached 400 MB  then why it says out of memory?

Pratibha
-- 
View this message in context: http://www.nabble.com/Why-memory-utilization-is-so-high-for-servicemix--tp18712344p18748569.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Why memory utilization is so high for servicemix?

Posted by pratibhaG <pr...@in2m.com>.
If I am sending *( requests  and all these are processed  successfully
sending response back to client, I think everything is done and the memory 
consumption  should be lowered. I did not find such a behavior. please see
the attached files

1)Observed - At servicemix startup the memory consumption goes on
increasing. It reaches 65MB and then starts decreasing. The decrease  keeps
on changing and the memory consumption is between 50MB to 56 MB.
   Expected - Same as observed

2)Observed - When first 89 requests are sent to servicemix and they are
processed it reaches about 168 MB and then starts decreasing. The decrease 
keeps on changing and the memory consumption is between 144MB to 155 MB.
Expected - In my opinion after requests are processed the memory consumption
should go down again to 50MB to 56 MB, which was the state before processing
these requests.

3)Observed - When second 89 requests are sent to servicemix and they are
processed it reaches about 236 MB and then starts decreasing. The decrease 
keeps on changing and the memory consumption is between 190MB to 220 MB.
Expected - In my opinion after requests are processed the memory consumption
should go down again to 50MB to 56 MB, which was the state before processing
these requests.

If it goes on increasing like this it will send out of memory after some
requests. Why it is not coming down to the previous state from where it
started.

Pratibha
http://www.nabble.com/file/p18747691/afterSmxStartUp.jpg afterSmxStartUp.jpg 
http://www.nabble.com/file/p18747691/afterFirst89requestsProcessed.jpg
afterFirst89requestsProcessed.jpg 
http://www.nabble.com/file/p18747691/afterSecond89RequestsProcessed.jpg
afterSecond89RequestsProcessed.jpg 

-- 
View this message in context: http://www.nabble.com/Why-memory-utilization-is-so-high-for-servicemix--tp18712344p18747691.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.


Re: Why memory utilization is so high for servicemix?

Posted by mattrpav <ma...@airband.com>.
Pratibha-

Using top isn't necessarily a good way to debug memory issues with Java
applications.  Many times, the VM will just keep memory allocated so it
doesn't have to go get it later.  I suggest you use Java's JMX properties
and watch the memory pool usage over time.  The VM can tell you exactly how
much memory is being used vs allocated.

I use Hyperic's Java adapter to monitor Java memory pool usage.  I believe
ServiceMix defaults to enabling the JMX listener and all you need to do is
point a JMX console (or Hyperic's Java VM adapter) to it in order to get to
the memory pool values. 

If you are using Sun's VM, make sure the '-server' option is set on
startup.. this setting tells the VM to perform garbage collection more
frequently.

Matt Pavlovich
-- 
View this message in context: http://www.nabble.com/Why-memory-utilization-is-so-high-for-servicemix--tp18712344p18714492.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.