Below you will find pages that utilize the taxonomy term “Godebug”
January 26, 2021
Golang环境变量之GODEBUG
"\u003cp\u003e\u003ccode\u003eGODEBUG\u003c/code\u003e 是 golang中一个控制runtime调度变量的变量,其值为一个用逗号隔开的 name=val对列表,常见有以下几个命名变量。\u003c/p\u003e\n\u003ch2 id=\"allocfreetrace\"\u003eallocfreetrace\u003c/h2\u003e\n\u003cp\u003e设置\u003ccode\u003eallocfreetrace = 1\u003c/code\u003e会导致对每个分配进行概要分析,并在每个对象的分配上打印堆栈跟踪并释放它们。\u003c/p\u003e\n\u003ch2 id=\"clobberfree\"\u003eclobberfree\u003c/h2\u003e\n\u003cp\u003e设置 \u003ccode\u003eclobberfree=1\u003c/code\u003e会使垃圾回收器在释放对象的时候,对象里的内存内容可能是错误的。\u003c/p\u003e\n\u003ch2 id=\"cgocheck\"\u003ecgocheck\u003c/h2\u003e\n\u003cp\u003ecgo相关。\u003c/p\u003e\n\u003cp\u003e设置 \u003ccode\u003ecgocheck=0\u003c/code\u003e 将禁用当包使用cgo非法传递给go指针到非go代码的检查。如果值为1(默认值)会启用检测,但可能会丢失有一些错误。如果设置为2的话,则不会丢失错误。但会使程序变慢。\u003c/p\u003e\n\u003ch2 id=\"efence\"\u003eefence\u003c/h2\u003e\n\u003cp\u003e设置 \u003ccode\u003eefence=1\u003c/code\u003e会使回收器运行在一个模式。每个对象都在一个唯一的页和地址,且永远也不会被回收。\u003c/p\u003e\n\u003ch2 id=\"gccheckmark\"\u003egccheckmark\u003c/h2\u003e\n\u003cp\u003eGC相关。\u003c/p\u003e\n\u003cp\u003e设置 \u003ccode\u003egccheckmark=1\u003c/code\u003e 启用验证垃圾回收器的并发标记,通过在STW时第二个标记阶段来实现,如果在第二阶段的时候,找到一个可达对象,但未找到并发标记,则GC会发生Panic。\u003c/p\u003e\n\u003ch2 id=\"gcpacertrace\"\u003egcpacertrace …\u003c/h2\u003e"