You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
李光春
7371dad756
|
2 years ago | |
---|---|---|
.. | ||
.cirrus.yml | 2 years ago | |
LICENSE | 2 years ago | |
README.md | 2 years ago | |
numcpus.go | 2 years ago | |
numcpus_bsd.go | 2 years ago | |
numcpus_linux.go | 2 years ago | |
numcpus_solaris.go | 2 years ago | |
numcpus_unsupported.go | 2 years ago | |
numcpus_windows.go | 2 years ago |
README.md
numcpus
Package numcpus provides information about the number of CPUs in the system.
It gets the number of CPUs (online, offline, present, possible, configured or kernel maximum) on Linux, Darwin, FreeBSD, NetBSD, OpenBSD, DragonflyBSD or Solaris/Illumos systems.
On Linux, the information is retrieved by reading the corresponding CPU
topology files in /sys/devices/system/cpu
.
On BSD systems, the information is retrieved using the hw.ncpu
and
hw.ncpuonline
sysctls, if supported.
Not all functions are supported on Darwin, FreeBSD, NetBSD, OpenBSD, DragonflyBSD and Solaris/Illumos. ErrNotSupported is returned in case a function is not supported on a particular platform.
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)
}