部署 Go 服务时,经常能看到这样的启动参数:

GOMAXPROCS=2 ./server

很多开发者把它理解成“限制程序只能使用两个 CPU”,也有人习惯直接调用 runtime.GOMAXPROCS(runtime.NumCPU())。但在容器环境里,宿主机可能有 64 个逻辑 CPU,而容器只被分配 2 核额度。如果 Go 运行时仍按 64 设置并行度,程序就可能频繁触发 CPU 限流,最终表现为接口尾延迟突然升高。