Skip to content

tklauser/go-sysconf

This branch is up to date with main.

Folders and files

NameName
Last commit message
Last commit date
Mar 5, 2025
Apr 25, 2024
Feb 26, 2025
Sep 26, 2018
Mar 11, 2022
Jan 19, 2022
Jan 5, 2024
Mar 5, 2025
Mar 5, 2025
Sep 26, 2024
Jan 26, 2021
Jan 5, 2024
Jan 30, 2024
Jan 30, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 26, 2021
Mar 16, 2021
Jan 5, 2024
Dec 1, 2023
Dec 13, 2018
Dec 1, 2023
Jan 26, 2021
Jan 5, 2024
Mar 15, 2021
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 30, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024
Jan 5, 2024

Repository files navigation

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