1
0
mirror of https://github.com/charlienet/go-mixed.git synced 2025-07-18 00:22:41 +08:00
Files
go-mixed/sys/show_usage.go
2022-03-30 15:50:42 +08:00

36 lines
580 B
Go

package sys
import (
"fmt"
"runtime"
)
type MemUsage struct {
Alloc float64
TotalAlloc float64
Sys float64
NumGC uint32
}
func (m MemUsage) String() string {
return fmt.Sprintf("Alloc = %.2fMB TotalAlloc = %.2fMB Sys = %.2fMB NumGC = %v",
m.Alloc,
m.TotalAlloc,
m.Sys,
m.NumGC)
}
func ShowMemUsage() MemUsage {
var m runtime.MemStats
runtime.ReadMemStats(&m)
mb := 1024 * 1024.0
return MemUsage{
Alloc: float64(m.Alloc) / mb,
TotalAlloc: float64(m.TotalAlloc) / mb,
Sys: float64(m.Sys) / mb,
NumGC: m.NumGC,
}
}