我使用Meck来模拟我拥有的一些外部服务的行为,纯粹是为了负载测试和分析我的系统,但是它给我带来了一些问题。基本上,我生成了许多辅助进程,如果没有调用它们,则在10秒后超时,但当meck重写对外部进程的调用时,它们似乎会像预期的那样超时和退出,但它们永远不会被垃圾收集,导致我的应用程序内存使用量随着更多工作人员的产生而不断上升和上升。
发布于 2013-10-22 07:06:05
这似乎是由于Erlang处理二进制文件和引用的方式:http://dieswaytoofast.blogspot.co.uk/2012/12/erlang-binaries-and-garbage-collection.html
我的解决方案是,只需要一个宏来定义应该使用的函数,并且在编译时将其切换到假函数上,现在看来是可行的。
https://stackoverflow.com/questions/19432634
复制相似问题