大佬教程收集整理的这篇文章主要介绍了Golang的GC信息,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
设置环境变量GODEBUG=gctrace=1。
@H_403_4@ 使用方法,如果程序为myserver。正常的启动方法为./myserver,如果需要收集GC信息启动方式如下GODEBUG=gctrace=1 ./myserver。
@H_403_4@ 11+12+357+77 us:表示停止各个goroutine花费时间是11us,释放标记对象所有时间为12us,扫描标记可回收对象花费时间为257us,完成各个线程结束为17us。GC总时间为457us。
@H_403_4@ 0 -> 1 MB:表示上次GC后堆占用的空间为0MB,本次GC前堆占用的空间为1MB。@H_403_4@ 4294 (5261-967) objects:表示剩余未释放对象个数为4294个,GC之前拥有对象为5261个,本次GC释放对象967个。
@H_403_4@ 基本规律是当前对象越多,扫描时间越长,需要释放的对象越多,释放过程越长。
@H_403_4@ 用一个主进程fock出两个子进程,两个子进程轮流提供服务,先让一个子进程提供服务,另一个子进程休眠。当提供服务的子进程工作一段时间后对象数量累计过多时,唤醒另一个子进程开始工作,本子进程开始GC,GC后进入休眠等待被唤醒。这样就避免掉了因为GC问题引起的不定时夯住的问题。
以上是大佬教程为你收集整理的Golang的GC信息全部内容,希望文章能够帮你解决Golang的GC信息所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。