[英]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.