erigon-pulse/common/debug/memstats.go

22 lines
562 B
Go
Raw Normal View History

package debug
import (
"fmt"
"runtime"
)
func PrintMemStats(short bool) {
var m runtime.MemStats
runtime.ReadMemStats(&m)
// For info on each, see: https://golang.org/pkg/runtime/#MemStats
if short {
fmt.Printf("HeapInuse: %vMb\n", ByteToMb(m.HeapInuse))
} else {
fmt.Printf("HeapInuse: %vMb, Alloc: %vMb, TotalAlloc: %vMb, Sys: %vMb, NumGC: %v, PauseNs: %d\n", ByteToMb(m.HeapInuse), ByteToMb(m.Alloc), ByteToMb(m.TotalAlloc), ByteToMb(m.Sys), m.NumGC, m.PauseNs[(m.NumGC+255)%256])
}
}
func ByteToMb(b uint64) uint64 {
return b / 1024 / 1024
}