동일 실행파일을 여러개 실행시켰을 때 구분해서 affinity 설정

This commit is contained in:
2023-11-30 14:17:27 +09:00
parent 023a2a5194
commit 1d3266bbaf
6 changed files with 154 additions and 33 deletions

26
client/client_linux.go Normal file
View File

@ -0,0 +1,26 @@
//go:build linux
package client
import (
"golang.org/x/sys/unix"
"repositories.action2quare.com/ayo/gocommon/logger"
)
func set_affinity(pid int, cpu int) {
var cpuset unix.CPUSet
err := unix.SchedGetaffinity(pid, &cpuset)
if err != nil {
logger.Println("SchedGetaffinity failed :", err)
}
count := cpuset.Count()
cpuset.Zero()
cpuset.Set(cpu % count)
err = unix.SchedSetaffinity(pid, &cpuset)
if err != nil {
logger.Println("SchedSetaffinity failed :", err)
}
}