goroutine内开buf导致内存耗尽

realted · · 1534 次点击
gc有自己的触发机制,可以google一下,但是通用的想法是: 不要依赖这个机制释放内存,只当作一个锦上添花的东西,要保证自己的程序稳定运行,要评估一下并发量,限制goroutine的数量。 比如一个goroutine占用2M内存,(2M我觉的不少了,啥都可以算上了),那么4g可用内存的机器,不考虑goroutine调度的情况下,可以支持2000并发数,2000并发每秒的单机我觉得已经是相当不错的业务了,毕竟一般都不可能是单台机器组成服务。
#7
更多评论
你这样无休止,死循环的开,肯定耗尽。实际程序如果真这么大的量,一方面考虑重用,比如对象池;另一方面,可能需要更多机器了。
#1
<a href="/user/channel" title="@channel">@channel</a> 哪些开源项目使用了“重用对象池”的方法?请赐教,我去学习一下
#2