You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@activemq.apache.org by Jim_Cross <ji...@googlemail.com> on 2007/06/19 16:26:03 UTC

Server side memory leak on connection with NMS

Hi,

Further to my earlier message, I realised I'd left out two vital bits of
information:
1. I'm using NMS
2. Part of my test app is to have a consumer disconnect fully (close and
dispose consumer, session, and connection) then reconnect

A bit more investigation has revealed that if I don't start the consumer
side, but do hit the server with loads of messages, memory use stays stable,
under 15mb.
However, if I just start the consumer side, memory use increases over time.

I'm fairly sure the connections are being closed properly, as the consumer
count seen in JConsole always shows the correct number.

Does anyone know why this happens?
I've seen some messages mentioning mixing ActiveMQ versions can cause memory
leaks. Could this be the cause? I'm using NMS with ActiveMQ 4.1.1.

Any help much appreciated.

Jim

-- 
View this message in context: http://www.nabble.com/Server-side-memory-leak-on-connection-with-NMS-tf3946774s2354.html#a11195906
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Server side memory leak on connection with NMS

Posted by Jim_Cross <ji...@googlemail.com>.
OK, so I went back to version 4.0.2, and the memory leak went away with
exactly the same test app.
So can anyone confirm whether this is a bug in 4.1.1, or whether NMS is not
compatible with 4.1.1?

Also, all the docs seem to relate to 4.1.1 now. How should a topic be set up
in the xml file in version 4.0.2, as the destinations element is not valid
before 4.1?

Thanks,

Jim


Jim_Cross wrote:
> 
> OK, so I hooked up JProbe to an instance running on my Windows XP
> workstation, and I see the same behaviour.
> It looks very much like the InactivityMonitor class is holding on to
> instances of TcpTransport - when I release the reference from
> InactivityMonitor to TcpTransport in JProbe, it can be garbaged collected
> fine.
> 
> Is there any way I can completely disable the InactivityMonitor? I tried
> using a URL of tcp://localhost:61616?wireFormat.maxInactivityDuration=0,
> but got an NMSException saying property maxInactivityDuration does not
> exist on WireFormatInfo.
> 
> 
> Jim_Cross wrote:
>> 
>> Hi,
>> 
>> Further to my earlier message, I realised I'd left out two vital bits of
>> information:
>> 1. I'm using NMS
>> 2. Part of my test app is to have a consumer disconnect fully (close and
>> dispose consumer, session, and connection) then reconnect
>> 
>> A bit more investigation has revealed that if I don't start the consumer
>> side, but do hit the server with loads of messages, memory use stays
>> stable, under 15mb.
>> However, if I just start the consumer side, memory use increases over
>> time.
>> 
>> I'm fairly sure the connections are being closed properly, as the
>> consumer count seen in JConsole always shows the correct number.
>> 
>> Does anyone know why this happens?
>> I've seen some messages mentioning mixing ActiveMQ versions can cause
>> memory leaks. Could this be the cause? I'm using NMS with ActiveMQ 4.1.1.
>> 
>> Any help much appreciated.
>> 
>> Jim
>> 
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/Server-side-memory-leak-on-connection-with-NMS-tf3946774s2354.html#a11218541
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Re: Server side memory leak on connection with NMS

Posted by Jim_Cross <ji...@googlemail.com>.
OK, so I hooked up JProbe to an instance running on my Windows XP
workstation, and I see the same behaviour.
It looks very much like the InactivityMonitor class is holding on to
instances of TcpTransport - when I release the reference from
InactivityMonitor to TcpTransport in JProbe, it can be garbaged collected
fine.

Is there any way I can completely disable the InactivityMonitor? I tried
using a URL of tcp://localhost:61616?wireFormat.maxInactivityDuration=0, but
got an NMSException saying property maxInactivityDuration does not exist on
WireFormatInfo.


Jim_Cross wrote:
> 
> Hi,
> 
> Further to my earlier message, I realised I'd left out two vital bits of
> information:
> 1. I'm using NMS
> 2. Part of my test app is to have a consumer disconnect fully (close and
> dispose consumer, session, and connection) then reconnect
> 
> A bit more investigation has revealed that if I don't start the consumer
> side, but do hit the server with loads of messages, memory use stays
> stable, under 15mb.
> However, if I just start the consumer side, memory use increases over
> time.
> 
> I'm fairly sure the connections are being closed properly, as the consumer
> count seen in JConsole always shows the correct number.
> 
> Does anyone know why this happens?
> I've seen some messages mentioning mixing ActiveMQ versions can cause
> memory leaks. Could this be the cause? I'm using NMS with ActiveMQ 4.1.1.
> 
> Any help much appreciated.
> 
> Jim
> 
> 

-- 
View this message in context: http://www.nabble.com/Server-side-memory-leak-on-connection-with-NMS-tf3946774s2354.html#a11214106
Sent from the ActiveMQ - User mailing list archive at Nabble.com.