Documentation
¶
Overview ¶
Package sys provides helpers to read system info (CPU, memory, loadavg, processes) with support for cgroup v2 and a moving-average CPU estimator.
- Copyright (c) 2026, NVIDIA CORPORATION. All rights reserved.
Package sys provides helpers to read system info (CPU, memory, loadavg, processes) with support for cgroup v2 and a moving-average CPU estimator.
- Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.
Package sys provides helpers to read system info (CPU, memory, loadavg, processes) with support for cgroup v2 and a moving-average CPU estimator.
- Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.
Package sys provides helpers to read system info (CPU, memory, loadavg, processes) with support for cgroup v2 and a moving-average CPU estimator.
- Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.
Package sys provides helpers to read system info (CPU, memory, loadavg, processes) with support for cgroup v2 and a moving-average CPU estimator.
- Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.
Package sys provides helpers to read system info (CPU, memory, loadavg, processes) with support for cgroup v2 and a moving-average CPU estimator.
- Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.
Package sys provides helpers to read system info (CPU, memory, loadavg, processes) with support for cgroup v2 and a moving-average CPU estimator.
- Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.
Package sys provides helpers to read system info (CPU, memory, loadavg, processes) with support for cgroup v2 and a moving-average CPU estimator.
- Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.
Package sys provides helpers to read system info (CPU, memory, loadavg, processes) with support for cgroup v2 and a moving-average CPU estimator.
- Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.
Package sys provides helpers to read system info (CPU, memory, loadavg, processes) with support for cgroup v2 and a moving-average CPU estimator.
- Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.
Package sys provides helpers to read system info (CPU, memory, loadavg, processes) with support for cgroup v2 and a moving-average CPU estimator.
- Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.
Package sys provides helpers to read system info (CPU, memory, loadavg, processes) with support for cgroup v2 and a moving-average CPU estimator.
- Copyright (c) 2018-2026, NVIDIA CORPORATION. All rights reserved.
Index ¶
- Constants
- func CPU(periodic bool) (load int64, isExtreme bool)
- func HighLoadWM() int64
- func Init(forceCont bool) string
- func MaxParallelism() int
- func NumCPU() int
- func ProcFDSize() int
- func Refresh(now int64, periodic bool) (int64, int64, error)
- type LoadAvg
- type MemStat
- type ProcCPUStats
- type ProcMemStats
- type ProcStats
Constants ¶
const ( ExtremeLoad = 95 HighLoad = 85 )
CPU utilization thresholds (percentage, 0-100) HighLoad < HighLoadWM() < ExtremeLoad
const ( // cpu samples ring MinIvalShort = 2 * time.Second )
Variables ¶
This section is empty.
Functions ¶
func HighLoadWM ¶ added in v1.3.26
func HighLoadWM() int64
HighLoadWM: "high-load watermark" as a percentage. For 8 CPUs: max(100 - 100/8, 1) = 88 - between HighLoad(82) and ExtremeLoad(92). see also: (ExtremeLoad, HighLoad) defaults
func Init ¶ added in v1.4.4
container-aware CPU count; GOMAXPROCS - AIS node (`aisnode`) calls Init() once upon startup - external modules that skip it still get a sane NumCPU() - see above - return ("cgroup-v2", etc.) enumerated tags
func MaxParallelism ¶ added in v1.3.26
func MaxParallelism() int
number of intra-cluster broadcasting goroutines
func ProcFDSize ¶ added in v1.3.31
func ProcFDSize() int
Types ¶
type LoadAvg ¶
func LoadAverage ¶
type MemStat ¶
type MemStat struct {
Total uint64 `msg:"t"`
Used uint64 `msg:"u"`
Free uint64 `msg:"f"`
BuffCache uint64 `msg:"b"`
ActualFree uint64 `msg:"af"`
ActualUsed uint64 `msg:"au"`
SwapTotal uint64 `msg:"st"`
SwapFree uint64 `msg:"sf"`
SwapUsed uint64 `msg:"su"`
}
type ProcCPUStats ¶
type ProcCPUStats struct {
User uint64 `msg:"u"`
System uint64 `msg:"s"`
Total uint64 `msg:"t"`
LastTime int64 `msg:"l"`
Percent float64 `msg:"p"`
}
func (*ProcCPUStats) DecodeMsg ¶ added in v1.4.5
func (z *ProcCPUStats) DecodeMsg(dc *msgp.Reader) (err error)
DecodeMsg implements msgp.Decodable
func (*ProcCPUStats) EncodeMsg ¶ added in v1.4.5
func (z *ProcCPUStats) EncodeMsg(en *msgp.Writer) (err error)
EncodeMsg implements msgp.Encodable
func (*ProcCPUStats) Msgsize ¶ added in v1.4.5
func (z *ProcCPUStats) Msgsize() (s int)
Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
type ProcMemStats ¶
func (*ProcMemStats) DecodeMsg ¶ added in v1.4.5
func (z *ProcMemStats) DecodeMsg(dc *msgp.Reader) (err error)
DecodeMsg implements msgp.Decodable
func (ProcMemStats) EncodeMsg ¶ added in v1.4.5
func (z ProcMemStats) EncodeMsg(en *msgp.Writer) (err error)
EncodeMsg implements msgp.Encodable
func (ProcMemStats) Msgsize ¶ added in v1.4.5
func (z ProcMemStats) Msgsize() (s int)
Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message
type ProcStats ¶
type ProcStats struct {
CPU ProcCPUStats `msg:"c"`
Mem ProcMemStats `msg:"m"`
}