From c5c6afea125875e635efb26da039d83d65e7d67f Mon Sep 17 00:00:00 2001 From: Jeff Carr Date: Tue, 7 Oct 2025 07:13:29 -0500 Subject: make this build on darwin --- hw_linux.go | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 hw_linux.go (limited to 'hw_linux.go') diff --git a/hw_linux.go b/hw_linux.go new file mode 100644 index 0000000..d3cb116 --- /dev/null +++ b/hw_linux.go @@ -0,0 +1,32 @@ +package zoopb + +import ( + "fmt" + "runtime" + + "golang.org/x/sys/unix" +) + +// simple memory and cpu count +func (me *Machine) osGetMemory() { + // Get number of CPUs + numCPUs := runtime.NumCPU() + + // Get total system memory + var sysInfo unix.Sysinfo_t + err := unix.Sysinfo(&sysInfo) + if err != nil { + fmt.Println("Error getting system info:", err) + return + } + + // Convert memory from bytes to GB + m := float64(sysInfo.Totalram) * float64(sysInfo.Unit) + me.Memory = int64(m) + me.Cpus = int64(numCPUs) + + // totalMemGB := float64(sysInfo.Totalram) * float64(sysInfo.Unit) / (1024 * 1024 * 1024) + // Print results + // fmt.Printf("Total Memory: %.2f GB\n", totalMemGB) + // fmt.Printf("Number of CPUs: %d\n", numCPUs) +} -- cgit v1.2.3