Also, I see you're using a DeserializerCache, which strongly implies there'll be some caching going on; are you sure you've configured the caching behavior appropriately for your JVM size and expected use case? On Sep 21, 2015 8:22 PM, "Tim Bain" <tb...@alumni.duke.edu> wrote:
> 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. >> >