diff options
Diffstat (limited to 'hw.go')
| -rw-r--r-- | hw.go | 33 |
1 files changed, 33 insertions, 0 deletions
@@ -0,0 +1,33 @@ +package debian + +import ( + "fmt" + "runtime" + + "go.wit.com/lib/protobuf/zoopb" + "golang.org/x/sys/unix" +) + +// init the installed package list +func getMemory(me *zoopb.Machine) { + // 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) +} |
