为什么会发生? 1、给系统压力,内存占用增大,但停止打压后,内存不能降低,则可能有内存泄漏。2、top不能实时反映程序占用内存,因Go向系统申请内存不使用后,并不立即归还系统。3、程序占用系统内存、Go的堆内存、实际使用内存:从系统申请的内存会在Go的内存池管理,整块的内存页,长时间不被访问并满足一定条件后,才归还给操作系统。又因为有GC,堆内存也不能代表内存占用,清理过之后剩下的,才是实际使用的内存。 发现泄漏2种方法 1.监控工具。2.go pprof:适合没有监控工具的情况。使用Go提供的pprof工具判断是否发生内存泄露。