Files
cloudpods/vendor/github.com/tklauser/go-sysconf/README.md
Jian Qiu 84cdeff92b fix: update vendor for clickhouse v2 (#14520)
* fix: update vendor for clickhouse v2

* fix: fix go vet

* fix: unreachable codes

* fix: composite literal uses unkeyed fields

* fix: ignore bad syntax for struct tag value

* fix: use make test to do test ci job

* fix: specify circleci resource_class

Co-authored-by: Qiu Jian <qiujian@yunionyun.com>
2022-06-25 15:52:15 +08:00

1.7 KiB

go-sysconf

Go Reference GitHub Action Status

sysconf for Go, without using cgo or external binaries (e.g. getconf).

Supported operating systems: Linux, macOS, DragonflyBSD, FreeBSD, NetBSD, OpenBSD, Solaris/Illumos.

All POSIX.1 and POSIX.2 variables are supported, see References for a complete list.

Additionally, the following non-standard variables are supported on some operating systems:

Variable Supported on
SC_PHYS_PAGES Linux, macOS, FreeBSD, NetBSD, OpenBSD, Solaris/Illumos
SC_AVPHYS_PAGES Linux, OpenBSD, Solaris/Illumos
SC_NPROCESSORS_CONF Linux, macOS, FreeBSD, NetBSD, OpenBSD, Solaris/Illumos
SC_NPROCESSORS_ONLN Linux, macOS, FreeBSD, NetBSD, OpenBSD, Solaris/Illumos
SC_UIO_MAXIOV Linux

Usage

package main

import (
	"fmt"

	"github.com/tklauser/go-sysconf"
)

func main() {
	// get clock ticks, this will return the same as C.sysconf(C._SC_CLK_TCK)
	clktck, err := sysconf.Sysconf(sysconf.SC_CLK_TCK)
	if err == nil {
		fmt.Printf("SC_CLK_TCK: %v\n", clktck)
	}
}

References