[zeromq-dev] Releasing RAM in Chunks

Chuck Remes lists at chuckremes.com
Mon Jul 2 20:53:52 CEST 2012


On Jul 2, 2012, at 1:48 PM, Anatoly wrote:

> ØMQ Crowd,
> 
>     Reading messages from a socket, placing them on the zmq (PUSH). On the other side reading messages of off the queue (PULL) and persisting them in to DB. 
> 
>     If we get millions of messages, ØMQ takes X GB of RAM (since the pushing in this case is at much higher speed than pulling that waits for a DB for each pull), and does not release these Gigs until ALL of the messages are consumed (e.g. pulled). 
> 
>     Is there a way to configure it to release memory in chunks as the queue is being emptied?

What you have posted should not be true. The memory for a message will be released when you call zmq_msg_close(). If you are making that call and the memory isn't freed, then there is a bug. See the man page at http://api.zeromq.org/2-2:zmq-msg-close

If you see something different, then please provide an example (written in C) that demonstrates the problem and open a bug. Thank you.

cr





More information about the zeromq-dev mailing list