1234567891011121314151617 |
- 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()
- }
|