go runtime.MemStats字段介绍

Posted by 聪少 on 2019-06-04
字段 说明
Alloc golang语言框架堆空间分配的字节数
TotalAlloc 从服务开始运行至今分配器为分配的堆空间总 和,只有增加,释放的时候不减少
Sys 服务现在系统使用的内存
Lookups 被runtime监视的指针数
Mallocs 服务malloc heap objects的次数
Frees 服务回收的heap objects的次数
HeapAlloc 服务分配的堆内存字节数
HeapSys 系统分配的作为运行栈的内存
HeapIdle 申请但是未分配的堆内存或者回收了的堆内存(空闲)字节数
HeapInuse 正在使用的堆内存字节数
HeapReleased 返回给OS的堆内存,类似C/C++中的free
HeapObjects 堆内存块申请的量
StackInuse 正在使用的栈字节数
StackSys 系统分配的作为运行栈的内存
MSpanInuse 用于测试用的结构体使用的字节数
MSpanSys 系统为测试用的结构体分配的字节数
MCacheInuse mcache结构体申请的字节数(不会被视为垃圾回收)
MCacheSys 操作系统申请的堆空间用于mcache的字节数
BuckHashSys 用于剖析桶散列表的堆空间
GCSys 垃圾回收标记元信息使用的内存
OtherSys golang系统架构占用的额外空间
NextGC 垃圾回收器检视的内存大小
LastGC 垃圾回收器最后一次执行时间
PauseTotalNs 垃圾回收或者其他信息收集导致服务暂停的次数
PauseNs 一个循环队列,记录最近垃圾回收系统中断的时间
PauseEnd 一个循环队列,记录最近垃圾回收系统中断的时间开始点
NumForcedGC 服务调用runtime.GC()强制使用垃圾回收的次数
GCCPUFraction 垃圾回收占用服务CPU工作的时间总和。如果有100个goroutine,垃圾回收的时间为1S,那么就占用了100S
BySize 内存分配器使用情况