Cool.  It's good to see you're able to chip away at the problem.  This is
another section you may want to look at as well.  Christian has good
explanation of it:  https://dzone.com/articles/activemq-understanding-memory

This is why when I'm starting on proof of concepts, spikes or protos I tend
to stay with SEDA or direct until I know that I need the persistence or
spooling.  The tempUsage is where AMQ defines how much memory to use when
writing non-persistent messages to hard disk cache.  Sounds strange, I know,
but it's just using it as an extension of RAM really.

When you start paging or caching objects you're going to lose several orders
of magnitude in speed.  The objects get taken from nanosecond RAM speeds to
write out at millisecond hard disk speeds and then it reads it again from
millisecond hard disk speeds back up into RAM again. 

Here's another good link:

http://activemq.apache.org/javalangoutofmemory.html



          
          <systemUsage>
            <systemUsage>
                <memoryUsage>
                    <memoryUsage percentOfJvmHeap="70" />
                </memoryUsage>
                <storeUsage>
                    <storeUsage limit="100 gb"/>
                </storeUsage>
                <tempUsage>
                    <tempUsage limit="50 gb"/>
                </tempUsage>
            </systemUsage>
        </systemUsage>



--
View this message in context: 
http://camel.465427.n5.nabble.com/Best-Strategy-to-process-a-large-number-of-rows-in-File-tp5779856p5780169.html
Sent from the Camel - Users mailing list archive at Nabble.com.

Reply via email to