…
|
||
---|---|---|
.. | ||
.cirrus.yml | ||
go.mod | ||
go.sum | ||
LICENSE | ||
numcpus.go | ||
numcpus_bsd.go | ||
numcpus_linux.go | ||
numcpus_solaris.go | ||
numcpus_unsupported.go | ||
README.md |
numcpus
Package numcpus provides information about the number of CPU.
It gets the number of CPUs (online, offline, present, possible or kernel maximum) on a Linux, Darwin, FreeBSD, NetBSD, OpenBSD, DragonflyBSD or Solaris/Illumos system.
On Linux, the information is retrieved by reading the corresponding CPU
topology files in /sys/devices/system/cpu
.
Not all functions are supported on Darwin, FreeBSD, NetBSD, OpenBSD, DragonflyBSD and Solaris/Illumos.
Usage
package main
import (
"fmt"
"os"
"github.com/tklauser/numcpus"
)
func main() {
online, err := numcpus.GetOnline()
if err != nil {
fmt.Fprintf(os.Stderr, "GetOnline: %v\n", err)
}
fmt.Printf("online CPUs: %v\n", online)
possible, err := numcpus.GetPossible()
if err != nil {
fmt.Fprintf(os.Stderr, "GetPossible: %v\n", err)
}
fmt.Printf("possible CPUs: %v\n", possible)
}