[英]What is the cpu cores caused by GC in Golang 1.4.1
我最近遇到过这样一种情况:我们的Golang应用程序消耗了近30GB的内存,会定期吃掉所有24个CPU内核几乎100%。 这将持续超过3秒。 我们的Golang版本在Linux 64位上是1.4.1。
我已经google了一些信息。 这是我的假设:
[]map[string]*list
,此类型的实例将包含超过250K的键。 GOMAXPROCS
参数有一些关系GOMAXPROCS
? 你真的得知道这样的问题。
这说你可能能够减少你在垃圾收集器上的负担。 以下是一些建议:
[]map[string][]whatever_you_are_storing
? sync.Pool
。 map[string]list
而不是map[string]*list
。 它会改变你的程序的行为,但对于一个小的结构,它可能是有意义的。 那些是黑暗中的镜头。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.