# Golang Heap Profile 解析 **Published by:** [simon0-o](https://paragraph.com/@simon0-o/) **Published on:** 2022-06-02 **URL:** https://paragraph.com/@simon0-o/golang-heap-profile ## Content 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 结束的时间戳 ## Publication Information - [simon0-o](https://paragraph.com/@simon0-o/): Publication homepage - [All Posts](https://paragraph.com/@simon0-o/): More posts from this publication - [RSS Feed](https://api.paragraph.com/blogs/rss/@simon0-o): Subscribe to updates - [Twitter](https://twitter.com/JellalLeonhardt): Follow on Twitter