From: Michael Pratt Date: Mon, 6 Jun 2022 21:20:44 +0000 (-0400) Subject: runtime: document GOMEMLIMIT in environment variables section X-Git-Tag: go1.19beta1~30 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=f3e051a184ddd060f1e17200b0081648411fa073;p=gostls13.git runtime: document GOMEMLIMIT in environment variables section For #48409. Change-Id: Ia6616a377bc4c871b7ffba6f5a59792a09b64809 Reviewed-on: https://go-review.googlesource.com/c/go/+/410734 Run-TryBot: Michael Pratt TryBot-Result: Gopher Robot Reviewed-by: Chris Hines Reviewed-by: Russ Cox --- diff --git a/src/runtime/extern.go b/src/runtime/extern.go index 54378885dc..15c519d233 100644 --- a/src/runtime/extern.go +++ b/src/runtime/extern.go @@ -18,8 +18,19 @@ The GOGC variable sets the initial garbage collection target percentage. A collection is triggered when the ratio of freshly allocated data to live data remaining after the previous collection reaches this percentage. The default is GOGC=100. Setting GOGC=off disables the garbage collector entirely. -The runtime/debug package's SetGCPercent function allows changing this -percentage at run time. See https://golang.org/pkg/runtime/debug/#SetGCPercent. +[runtime/debug.SetGCPercent] allows changing this percentage at run time. + +The GOMEMLIMIT variable sets a soft memory limit for the runtime. This memory limit +includes the Go heap and all other memory managed by the runtime, and excludes +external memory sources such as mappings of the binary itself, memory managed in +other languages, and memory held by the operating system on behalf of the Go +program. GOMEMLIMIT is a numeric value in bytes with an optional unit suffix. +The supported suffixes include B, KiB, MiB, GiB, and TiB. These suffixes +represent quantities of bytes as defined by the IEC 80000-13 standard. That is, +they are based on powers of two: KiB means 2^10 bytes, MiB means 2^20 bytes, +and so on. The default setting is math.MaxInt64, which effectively disables the +memory limit. [runtime/debug.SetMemoryLimit] allows changing this limit at run +time. The GODEBUG variable controls debugging variables within the runtime. It is a comma-separated list of name=val pairs setting these named variables: