1
即時通訊使用梅克模擬我的一些外部服務的行爲,純粹是爲了負載測試和分析我的系統,但它造成了一些問題。基本上我有很多工作進程正在產生,如果沒有任何調用它們,它會在10秒後超時,但是當我把meck覆蓋到我的外部進程的調用時,它們似乎超時並按預期退出,但它們絕不會被垃圾收集,導致我的應用程序的內存使用情況,只是不停地增高隨着越來越多的工人正在催生梅克不允許我的進程垃圾收集
即時通訊使用梅克模擬我的一些外部服務的行爲,純粹是爲了負載測試和分析我的系統,但它造成了一些問題。基本上我有很多工作進程正在產生,如果沒有任何調用它們,它會在10秒後超時,但是當我把meck覆蓋到我的外部進程的調用時,它們似乎超時並按預期退出,但它們絕不會被垃圾收集,導致我的應用程序的內存使用情況,只是不停地增高隨着越來越多的工人正在催生梅克不允許我的進程垃圾收集
看來這是由於二郎神如何處理二進制文件和引用:http://dieswaytoofast.blogspot.co.uk/2012/12/erlang-binaries-and-garbage-collection.html
我的解決方法就是有一個宏定義功能,應被使用,並在編譯時切換爲假功能,現在似乎工作
你能否粘貼一些小代碼來重現你的行爲'收到? – Javier
剛剛花了最後一個小時做了一個新的otp項目,將鏡像功能,並發現該過程正確終止,但由於meck已經觸及二進制它不被垃圾回收,導致我的內存使用量不斷增加,這顯然不是理想的! – Stowelly
我們在談論什麼二進制文件? Meck創建的東西或您的程序創建的東西? –