mirror of
https://github.com/tailscale/tailscale.git
synced 2024-11-30 05:25:35 +00:00
20 lines
384 B
Go
20 lines
384 B
Go
|
// Copyright (c) Tailscale Inc & AUTHORS
|
||
|
// SPDX-License-Identifier: BSD-3-Clause
|
||
|
|
||
|
//go:build linux
|
||
|
|
||
|
package sysresources
|
||
|
|
||
|
import "golang.org/x/sys/unix"
|
||
|
|
||
|
func totalMemoryImpl() uint64 {
|
||
|
var info unix.Sysinfo_t
|
||
|
|
||
|
if err := unix.Sysinfo(&info); err != nil {
|
||
|
return 0
|
||
|
}
|
||
|
|
||
|
// uint64 casts are required since these might be uint32s
|
||
|
return uint64(info.Totalram) * uint64(info.Unit)
|
||
|
}
|