你需要进一步深入研究泄漏内存的问题。
运行您的应用程序
valgrind
一旦你认为记忆被泄露,就打破执行
valgrind
应报告所有可能的泄漏。希望真正的泄漏应该突出,因为它将是大而明显的。
其他尝试的方法是减少
的
HWM
</强>
对于所有插座都是1,看看是否有所作为。可能是内存泄漏只是使用缓冲区的ZeroMQ(设置为
HWM
)。如果释放除非在其他地方需要,Linux将不会总是将内存返回到堆中。
最后,感谢ZeroMQ的架构,您可以非常轻松地将您的应用程序分成两部分,然后是您的
PUB
和
SUB
将是分开的,并进一步缩小泄漏范围。