最近组内一些Go服务碰到内存相关的问题,所以今天抽时间看了下Go pprof内存指标的含义,为后续查问题做准备。
内容主要来自于Go代码中对这些字段的注释,加自己的理解。理解不对的地方欢迎指正。
// https://github.com/golang/go/blob/master/src/runtime/mstats.go#L150
// 总共从OS申请的字节数
// 是下面各种XxxSys指标的总和。包含运行时的heap、stack和其他内部数据结构的总和。
// 它是虚拟内存空间。不一定全部映射成了物理内存。
Sys// 见`Sys`
HeapSys// 还在使用的对象,以及不使用还没被GC释放的对象的字节数
// 平时应该平缓,gc时可能出现锯齿
HeapAlloc// 正在使用的对象字节数。
// 有个细节是,如果一个span中可包含多个object,只要一个object在使用,那么算的是整个span。
// `HeapInuse` - `HeapAlloc`是GC中保留,可以快速被使用的内存。
HeapInuse// 已归还给OS的内存。没被堆再次申请的内存。
HeapReleased// 没被使用的span的字节数。
// 这部分内存可以被归还给OS,并且还包含了`HeapReleased`。
// 可以被再次申请,甚至作为栈内存使用。
// `HeapIdle` - `HeapReleased`即GC保留的。
HeapIdle/// ---
// 和`HeapAlloc`一样
Alloc// 累计的`Alloc`
// 累计的意思是随程序启动后一直累加增长,永远不会下降。
TotalAlloc// 没什么卵用
Lookups = 0// 累计分配的堆对象数
Mallocs// 累计释放的堆对象数
Frees// 存活的对象数。见`HeapAlloc`
// HeapObjects = `Mallocs` - `Frees`
HeapObjects// ---
// 下面的XxxInuse中的Inuse的含义,和XxxSys中的Sys的含义,基本和`HeapInuse`和`HeapSys`是一样的
// 没有XxxIdle,是因为都包含在`HeapIdle`里了// StackSys基本就等于StackInuse,再加上系统线程级别的栈内存
Stack = StackInuse / StackSys// 为MSpan结构体使用的内存
MSpan = MSpanInuse / MSpanSys// 为MCache结构体使用的内存
MCache = MCacheInuse / MCacheSys// 下面几个都是底层内部数据结构用到的XxxSys的内存统计
BuckHashSys
GCSys
OtherSys// ---
// 下面是跟GC相关的// 下次GC的触发阈值,当HeapAlloc达到这个值就要GC了
NextGC// 最近一次GC的unix时间戳
LastGC// 每个周期中GC的开始unix时间戳和结束unix时间戳
// 一个周期可能有0次GC,也可能有多次GC,如果是多次,只记录最后一个
PauseNs
PauseEnd// GC次数
NumGC// 应用程序强制GC的次数
NumForcedGC// GC总共占用的CPU资源。在0~1之间
GCCPUFraction// 没被使用,忽略就好
DebugGC
查看方式
// 方式一
import "runtime"var m runtime.MemStats
runtime.ReadMemStats(&m)
// 方式二
import _ "net/http/pprof"
import "net/http"
http.ListenAndServe("0.0.0.0:10001", nil)
// http://127.0.0.1:10001/debug/pprof/heap"color: #ff0000">总结
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
更新日志
- 凤飞飞《我们的主题曲》飞跃制作[正版原抓WAV+CUE]
- 刘嘉亮《亮情歌2》[WAV+CUE][1G]
- 红馆40·谭咏麟《歌者恋歌浓情30年演唱会》3CD[低速原抓WAV+CUE][1.8G]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[320K/MP3][193.25MB]
- 【轻音乐】曼托凡尼乐团《精选辑》2CD.1998[FLAC+CUE整轨]
- 邝美云《心中有爱》1989年香港DMIJP版1MTO东芝首版[WAV+CUE]
- 群星《情叹-发烧女声DSD》天籁女声发烧碟[WAV+CUE]
- 刘纬武《睡眠宝宝竖琴童谣 吉卜力工作室 白噪音安抚》[FLAC/分轨][748.03MB]
- 理想混蛋《Origin Sessions》[320K/MP3][37.47MB]
- 公馆青少年《我其实一点都不酷》[320K/MP3][78.78MB]
- 群星《情叹-发烧男声DSD》最值得珍藏的完美男声[WAV+CUE]
- 群星《国韵飘香·贵妃醉酒HQCD黑胶王》2CD[WAV]
- 卫兰《DAUGHTER》【低速原抓WAV+CUE】
- 公馆青少年《我其实一点都不酷》[FLAC/分轨][398.22MB]
- ZWEI《迟暮的花 (Explicit)》[320K/MP3][57.16MB]