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. >