erlang会自动回收内存,不过有时候我们希望能够手动回收内存。在rabbitmq里面就提供了这样的代码,记录一下。
gc() -> [garbage_collect(P) || P <- processes(), {status, waiting} == process_info(P, status)], garbage_collect(), %% since we will never be waiting... ok.
这段代码在background_gc.erl文件里面。在erlang里面,xxx_info()函数几乎都会有重要的作用,例如system_info(), M:module_info()。在mochiweb中,就用到M:module_info()来获得文件的信息,然后决定是否要热加载这代码。
转贴请注明来自:格通