gomaxprocs能否超过物理核心数?

gomaxprocs能否超过物理核心数?

gomaxprocs设置上限

gomaxprocs参数用于指定运行时可以同时启动的最大逻辑处理器(P)的数量。虽然人们普遍认为最高值为计算机的物理核心数,但这并不完全正确。

是否可以超过计算机的核数?

答案是肯定的。gomaxprocs可以被设置为超过最大CPU数量。理论上,它可以被设置为任意大的数字。

是否超过物理核心数有意义?

然而,将gomaxprocs设置得过高并没有什么意义。因为最终是CPU在执行应用程序的代码,而P只是一个媒介。设置过多只会增加上下文切换的开销,而不会提高性能。

业务建议

对于涉及较多cgo(与C语言交互)的服务,可以考虑适当增加P的数量,因为cgo调用可能会影响应用程序的性能。

以上就是gomaxprocs能否超过物理核心数?的详细内容,更多请关注其它相关文章!