[zeromq-dev] epgm memory leak - need hepl

Parag Patel Parag.Patel at fusionts.com
Mon Jun 17 20:48:46 CEST 2013


Any ideas about this?  We're seeing something similar with a Java application.  We noticed that the JVM memory size is not growing, however, the process's memory space is growing.

From: zeromq-dev-bounces at lists.zeromq.org [mailto:zeromq-dev-bounces at lists.zeromq.org] On Behalf Of Alexander Zhitlenok
Sent: Friday, June 14, 2013 6:07 PM
To: zeromq-dev at lists.zeromq.org
Subject: [zeromq-dev] epgm memory leak - need hepl

Hello,
My name is Alex Zhitlenok.
We are using ZeroMq in a custom C# Application on Windows.
We use the multicast/epgm protocol.
When we run our application the memory consistently grows and sometimes the app crashes due to an Out of Memory Exception.
To try and detect what causes the problem, we've created a very simple test (just a few lines to avoid GC influence, etc.)
Even when we run this simple test program, the memory continues to grow (at a slow and linear rate, but continues to grow regardless)
To avoid "no listeners" problem in the test we run mdump.exe as a fake-client listening to the multicast port.
What are we doing wrong?

We use

ZeroMQ 3.2.3

OpenPGM 5.2.122 (http://code.google.com/p/openpgm/)

Clrzmq build for 3.2.3 (https://github.com/zeromq/clrzmq)

Mdump (https://community.informatica.com/solutions/informatica_mtools)



Software\Hardware:

Win7 Professional\64 bit

10g network



Here is the test code (the real addresses are substituted with XYZ):


        static void Main(string[] args)
        {
            ZmqContext context = ZmqContext.Create();
            ZmqSocket soc = context.CreateSocket(ZeroMQ.SocketType.PUB);

            soc.MulticastHops = 16;
            soc.MulticastRate = 100000;
            //soc.SendBufferSize = 1000000;
            soc.SendHighWatermark = 100;

            soc.Bind("epgm://192.168.XYZ.XYZ;239.10.10.10:PORT");

            byte[] test = new byte[1000];
            test[1] = (byte)('X');

            for (int i = 0; ; ++i)
            {
                test[0] = (byte) ('0' + (i%10));
                SendStatus ss = soc.Send(test);
                if( ss != SendStatus.Sent )
                    System.Diagnostics.Debug.WriteLine(String.Format("Status:{0}", ss));
                Thread.Sleep(100);
            }
        }



Thank you,

Alex

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.zeromq.org/pipermail/zeromq-dev/attachments/20130617/02f8694b/attachment.htm>


More information about the zeromq-dev mailing list