package sysinfo

import "github.com/docker/docker/pkg/sysinfo"

Package sysinfo stores information about which features a kernel supports.

Index

Functions

func NumCPU

func NumCPU() int

NumCPU returns the number of CPUs. On Linux and Windows, it returns the number of CPUs which are currently online. On other platforms, it's the equivalent of runtime.NumCPU.

Types

type Opt

type Opt func(info *SysInfo)

Opt for New().

type SysInfo

type SysInfo struct {
	// Whether the kernel supports AppArmor or not
	AppArmor bool
	// Whether the kernel supports Seccomp or not
	Seccomp bool

	// Whether the kernel supports cgroup namespaces or not
	CgroupNamespaces bool

	// Whether IPv4 forwarding is supported or not, if this was disabled, networking will not work
	IPv4ForwardingDisabled bool

	// Whether bridge-nf-call-iptables is supported or not
	BridgeNFCallIPTablesDisabled bool

	// Whether bridge-nf-call-ip6tables is supported or not
	BridgeNFCallIP6TablesDisabled bool

	// Whether the cgroup has the mountpoint of "devices" or not
	CgroupDevicesEnabled bool

	// Whether the cgroup is in unified mode (v2).
	CgroupUnified bool

	// Warnings contains a slice of warnings that occurred  while collecting
	// system information. These warnings are intended to be informational
	// messages for the user, and can either be logged or returned to the
	// client; they are not intended to be parsed / used for other purposes,
	// and do not have a fixed format.
	Warnings []string
	// contains filtered or unexported fields
}

SysInfo stores information about which features a kernel supports. TODO Windows: Factor out platform specific capabilities.

func New

func New(options ...Opt) *SysInfo

New returns an empty SysInfo for non linux for now.

func (SysInfo) IsCpusetCpusAvailable

func (c SysInfo) IsCpusetCpusAvailable(provided string) (bool, error)

IsCpusetCpusAvailable returns `true` if the provided string set is contained in cgroup's cpuset.cpus set, `false` otherwise. If error is not nil a parsing error occurred.

func (SysInfo) IsCpusetMemsAvailable

func (c SysInfo) IsCpusetMemsAvailable(provided string) (bool, error)

IsCpusetMemsAvailable returns `true` if the provided string set is contained in cgroup's cpuset.mems set, `false` otherwise. If error is not nil a parsing error occurred.

Source Files

numcpu.go numcpu_other.go sysinfo.go sysinfo_other.go

Version
v26.1.1+incompatible
Published
Apr 30, 2024
Platform
js/wasm
Imports
2 packages
Last checked
3 seconds ago

Tools for package owners.