If you "force" a full GC (as much as it's possible to do that since it's
really just a suggestion), does memory usage drop substantially?  If not,
it's not the garbage collector's fault, you're using all of your memory,
either because there's a memory leak (unlikely given how many other people
run ActiveMQ, but always possible), because you're doing something that
continually increases memory usage (such as producing messages without
consuming them), or because you didn't size your JVM large enough for your
needs.

You'll probably want to see what is using memory by looking at queue sizes,
by taking a memory dump, etc. to understand if there's a steady increase.
Pursue the first two if there is, and only pursue the last one if you're
sure there's not and if you estimate out your memory usage and it seems
reasonable that you really are undersized; if you can't look yourself in
the eye and say you know you're undersized without that nagging voice in
the back of your head asking if you're really sure, keep investigating!
Otherwise you'll tell everyone you fixed it when all you did was delay the
inevitable, and when it happens again (and it will) everyone will wonder
why you got it wrong and whether to believe you the next time you say you
fixed something.
On Sep 21, 2015 4:11 PM, "mhempleman" <matthew.hemple...@alstom.com> wrote:

> Hi,
>
> I have a webapp running on Jboss that is currently using HornetQ for
> messaging.  I'm attempting to switch to ActiveMQ but running into some
> annoying issues.  Everything starts with no issue and messages are
> transfered as expected, but after running for a short period of time, I
> start getting two error messages.
>
> *org.springframework.integration.MessageTimeoutException: failed to receive
> JMS response within timeout of: 10000ms*
>
> AND
>
> * java.lang.RuntimeException: No sender waiting for reply.*
>
>
> If I let it run, after awhile I get this:
>
>
> *11:12:56,834 INFO [stdout] (Deferred Command #1)
> java.lang.OutOfMemoryError: GC overhead limit exceeded*
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
> java.util.Arrays.copyOfRange(Arrays.java:2694)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
> java.lang.String.<init>(String.java:203)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
> java.lang.StringBuilder.toString(StringBuilder.java:405)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.parser.SignatureParser.parsePackageNameAndSimpleClassTypeSignature(SignatureParser.java:340)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.parser.SignatureParser.parseClassTypeSignature(SignatureParser.java:312)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature(SignatureParser.java:291)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.parser.SignatureParser.parseFieldTypeSignature(SignatureParser.java:285)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.parser.SignatureParser.parseTypeSignature(SignatureParser.java:487)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.parser.SignatureParser.parseZeroOrMoreTypeSignatures(SignatureParser.java:610)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.parser.SignatureParser.parseFormalParameters(SignatureParser.java:587)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.parser.SignatureParser.parseMethodTypeSignature(SignatureParser.java:577)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.parser.SignatureParser.parseMethodSig(SignatureParser.java:173)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.repository.ConstructorRepository.parse(ConstructorRepository.java:55)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.repository.ConstructorRepository.parse(ConstructorRepository.java:43)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.repository.AbstractRepository.<init>(AbstractRepository.java:74)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.repository.GenericDeclRepository.<init>(GenericDeclRepository.java:48)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.repository.ConstructorRepository.<init>(ConstructorRepository.java:51)
>
> 11:12:56,834 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.repository.MethodRepository.<init>(MethodRepository.java:46)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
>
> sun.reflect.generics.repository.MethodRepository.make(MethodRepository.java:59)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
> java.lang.reflect.Method.getGenericInfo(Method.java:102)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
> java.lang.reflect.Method.getGenericParameterTypes(Method.java:292)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
>
> com.fasterxml.jackson.databind.introspect.AnnotatedMethod.getGenericParameterType(AnnotatedMethod.java:207)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
>
> com.fasterxml.jackson.databind.introspect.AnnotatedWithParams.getParameter(AnnotatedWithParams.java:119)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
>
> com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector._addCreators(POJOPropertiesCollector.java:453)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
>
> com.fasterxml.jackson.databind.introspect.POJOPropertiesCollector.collect(POJOPropertiesCollector.java:235)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
>
> com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.collectProperties(BasicClassIntrospector.java:142)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
>
> com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.forDeserialization(BasicClassIntrospector.java:81)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
>
> com.fasterxml.jackson.databind.introspect.BasicClassIntrospector.forDeserialization(BasicClassIntrospector.java:11)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
>
> com.fasterxml.jackson.databind.DeserializationConfig.introspect(DeserializationConfig.java:547)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
>
> com.fasterxml.jackson.databind.deser.DeserializerCache._createDeserializer(DeserializerCache.java:325)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
>
> com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCache2(DeserializerCache.java:263)
>
> 11:12:56,835 INFO [stdout] (Deferred Command #1) at
>
> com.fasterxml.jackson.databind.deser.DeserializerCache._createAndCacheValueDeserializer(DeserializerCache.java:2
>
>
> I can't figure out why the garbage collector would be working so hard.  Any
> advice would be greatly appreciated?  Thanks
>
>
>
> --
> View this message in context:
> http://activemq.2283324.n4.nabble.com/Garbage-collecter-out-of-memory-tp4702160.html
> Sent from the ActiveMQ - User mailing list archive at Nabble.com.
>

Reply via email to