gomaxprocs能否超过物理核心数?
gomaxprocs设置上限
gomaxprocs参数用于指定运行时可以同时启动的最大逻辑处理器(P)的数量。虽然人们普遍认为最高值为计算机的物理核心数,但这并不完全正确。
是否可以超过计算机的核数?
答案是肯定的。gomaxprocs可以被设置为超过最大CPU数量。理论上,它可以被设置为任意大的数字。
是否超过物理核心数有意义?
然而,将gomaxprocs设置得过高并没有什么意义。因为最终是CPU在执行应用程序的代码,而P只是一个媒介。设置过多只会增加上下文切换的开销,而不会提高性能。
业务建议
对于涉及较多cgo(与C语言交互)的服务,可以考虑适当增加P的数量,因为cgo调用可能会影响应用程序的性能。
以上就是gomaxprocs能否超过物理核心数?的详细内容,更多请关注其它相关文章!