[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