Heap Profile 中 head 各字段的含义
一个标准的 heap profile 头如下所示:
heapprofile in_use_object: in_use_space [alloc_object: alloc_space] @ stack_trace
Heap Profile 中 heap 各字段的含义
- HeapSys,从系统申请的用于 Heap 的内存大小
- HeapInuse,正在使用的 Heap
- HeapIdle,没有使用的 Heap
- HeapSys = HeapInuse + HeapIdle
- HeapReleased, HeapIdle 中已经归还给 OS 的部分
- HeapIdle - HeapReleased,可以归还给 OS 但是还没归还的部分
- Sys - HeapReleased,由 Go 持有的内存
- HeapAlloc,分配出去的(由用户持有的)Heap,包括 reachable 的和还没被 GC 到的
- NextGC,下一次 GC 的阈值,当 HeapAlloc >= NextGC 时就意味着即将 GC 了
- LastGC,最近一次 GC 结束的时间戳