问题提出:Erlang服务器100万人在线,16G内存快被吃光。玩家进程占用内存偏高。
解决方法:
第一步:
erlang:system_info(process_count)....查看进程数目是否正常,是否超过了erlang虚拟机的最大进程数。
第二步:
查看节点的内存瓶颈所在地方
> erlang:memory()....,由此确定是进程占用了大量内存
第三步:
查看占用内存最高的进程
>spawn(fun()-> etop:start([{output, text}, {interval, 1}, {lines, 20...第四步:查看占用内存最高的进程状态
>erlang:process_info(pid(0,12571,0))....gc没有回收到任何资源,因此消耗的内存还在发挥作用,没有回收!