github.com/elastic/gosigar@v0.14.3/examples/free/free.go (about) 1 // Copyright (c) 2012 VMware, Inc. 2 3 package main 4 5 import ( 6 "fmt" 7 "os" 8 9 "github.com/elastic/gosigar" 10 ) 11 12 func format(val uint64) uint64 { 13 return val / 1024 14 } 15 16 func main() { 17 mem := gosigar.Mem{} 18 swap := gosigar.Swap{} 19 20 mem.Get() 21 swap.Get() 22 23 fmt.Fprintf(os.Stdout, "%18s %10s %10s\n", 24 "total", "used", "free") 25 26 fmt.Fprintf(os.Stdout, "Mem: %10d %10d %10d\n", 27 format(mem.Total), format(mem.Used), format(mem.Free)) 28 29 fmt.Fprintf(os.Stdout, "-/+ buffers/cache: %10d %10d\n", 30 format(mem.ActualUsed), format(mem.ActualFree)) 31 32 fmt.Fprintf(os.Stdout, "Swap: %10d %10d %10d\n", 33 format(swap.Total), format(swap.Used), format(swap.Free)) 34 }