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.
go-library/vendor/github.com/tklauser/numcpus
李光春 7371dad756
- update vendor
2 years ago
..
.cirrus.yml - update vendor 2 years ago
LICENSE - update vendor 2 years ago
README.md - update vendor 2 years ago
numcpus.go - update vendor 2 years ago
numcpus_bsd.go - update vendor 2 years ago
numcpus_linux.go - update vendor 2 years ago
numcpus_solaris.go - update vendor 2 years ago
numcpus_unsupported.go - update vendor 2 years ago
numcpus_windows.go - update vendor 2 years ago

README.md

numcpus

Go Reference GitHub Action Status

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

References