場景:在一個 16 核的節點上,一個 Go 服務/容器運行在一個 pod 和另一個容器中,另一個容器分配了 4 個核心,并且該 go 容器設置為使用GOMAXPROCS.在使用 goroutine 的請求中,Go 程序是否會利用所有可用的 CPU。我認為這取決于GOMAXPROCS,但我不確定它是否只看到在 pod 啟動時使用的 1 個核心都在機器上。理想情況下,我希望 CPU 密集型請求使用所有可用的 CPU,但很難測量運行時實際發生的情況(GKE)。kube top顯示空閑時的預期:POD NAME CPU(cores) MEMORY(bytes)pod-go-py go-service 1m 862Mipod-go-py py-service 4m 489Mifmt.Println(runtime.NumCPU())顯示 16 個內核可用。所以我可以相信 Go 程序會在請求中使用它們?我還想象,當我在節點上擴展 Pod 時,我必須注意節流。
- 1 回答
- 0 關注
- 159 瀏覽
添加回答
舉報
0/150
提交
取消
