...
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package numcpus
19
20 import "golang.org/x/sys/unix"
21
22
23 const (
24 _SC_NPROCESSORS_CONF = 14
25 _SC_NPROCESSORS_ONLN = 15
26 _SC_NPROCESSORS_MAX = 516
27 )
28
29 func getConfigured() (int, error) {
30 n, err := unix.Sysconf(_SC_NPROCESSORS_CONF)
31 return int(n), err
32 }
33
34 func getKernelMax() (int, error) {
35 n, err := unix.Sysconf(_SC_NPROCESSORS_MAX)
36 return int(n), err
37 }
38
39 func getOffline() (int, error) {
40 return 0, ErrNotSupported
41 }
42
43 func getOnline() (int, error) {
44 n, err := unix.Sysconf(_SC_NPROCESSORS_ONLN)
45 return int(n), err
46 }
47
48 func getPossible() (int, error) {
49 n, err := unix.Sysconf(_SC_NPROCESSORS_CONF)
50 return int(n), err
51 }
52
53 func getPresent() (int, error) {
54 n, err := unix.Sysconf(_SC_NPROCESSORS_CONF)
55 return int(n), err
56 }
57
View as plain text