问题提出:Erlang服务器100万人在线,16G内存快被吃光。玩家进程占用内存偏高。
解决方法:
第一步:
erlang:system_info(process_count)....第二步:
查看节点的内存瓶颈所在地方
> erlang:memory()....gc没有回收到任何资源,因此消耗的内存还在发挥作用,没有回收!..., 而版本2函数调用地址保持不变,内存也没有发生变化!...总结:
1,服务器编程中,循环一定确保为尾递归;
2,尽量使用OTP,如果使用gen_server替换手写loop,就会避免出现该问题。