内存
pengpengzhou
主要学习语言Java,Nodejs,Go
展开
-
Go语言:利用pprof工具排查内存泄漏的示例
Go中的内存泄漏通常是指在运行过程中全局变量所分配的内存越来越多,而没有释放。利用自带的pprof工具可以很方便的排查这类问题。示例代码pprof.go调用关系:handler1 >func1_1 >func1_2 (创建200MB的切片) >func1_3 handler2 >func2_1 >func2_2 >func2_3(创建100MB的切片)package mainimport ( "fmt" "net/http" _ "...原创 2020-06-28 17:02:58 · 8250 阅读 · 0 评论 -
Go语言:runtime.ReadMemStats(m *MemStats)读取到的内存相关指标的含义和区别
MemStats是一个结构体,里面指标很多,常用的有:HeapObjects:堆中已经分配的对象总数,GC内存回收后HeapObjects取值相应减小。 HeapAlloc: 堆中已经分配给对象的字节数,GC内存回收后HeapAlloc取值相应减小。 TotalAlloc: 堆中已经分配给对象的总的累计字节数,只增不减,GC内存回收后也不减小。 HeapSys: 从操作系统为堆申请到的字节数。 HeapIdle: 堆的闲置区间,包括已经归还给操作系统的物理字节数(HeapReleased)..原创 2020-06-22 15:10:34 · 6573 阅读 · 1 评论