동일 실행파일을 여러개 실행시켰을 때 구분해서 affinity 설정
This commit is contained in:
26
client/client_linux.go
Normal file
26
client/client_linux.go
Normal 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)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user