status-go/vendor/github.com/tklauser/numcpus
Andrea Maria Piana 4d15ae8a85 Upgrade to go 1.18 2022-05-11 12:39:54 +01:00
..
.cirrus.yml
LICENSE
README.md
numcpus.go
numcpus_bsd.go
numcpus_linux.go
numcpus_solaris.go
numcpus_unsupported.go

README.md

numcpus

Go Reference GitHub Action Status Go Report Card

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

References