记一次golang程序CPU高的排查过程
前言 事情的起因是某天CTO突然和我说,生产环境的程序CPU有点高,关键是现在也没什么负载,同样的代码在开发环境上CPU就低的多了。 不用细说,那一定是有什么地方出问题了。 CTO还说,他pprof过了,占用CPU最高的runtime.futex,还发了一篇相关的文章谁占了该CPU核的30% - 一个较意外的Go性能问题 ,打趣说没准系统负载高了,这个问题就没了。因为原文中写到: 必须指出,本问题是因为系统空闲没有goroutine可以调度造成的。显然的,系统繁忙的时候,即CPU资源真正体现价值...阅读全文