package sysinfo // import "github.com/docker/docker/pkg/sysinfo" import "golang.org/x/sys/unix" // numCPU queries the system for the count of threads available // for use to this process. // // Returns 0 on errors. Use |runtime.NumCPU| in that case. func numCPU() int { // Gets the affinity mask for a process: The very one invoking this function. var mask unix.CPUSet err := unix.SchedGetaffinity(0, &mask) if err != nil { return 0 } return mask.Count() }