[go] runtime: document GOMEMLIMIT in environment variables section

261 views
Skip to first unread message

Michael Pratt (Gerrit)

unread,
Jun 7, 2022, 2:47:41 PM6/7/22
to Michael Pratt, goph...@pubsubhelper.golang.org, golang-...@googlegroups.com, Chris Hines, Gopher Robot, Russ Cox, Austin Clements, Michael Knyszek, golang-co...@googlegroups.com

Michael Pratt submitted this change.

View Change



2 is the latest approved patch-set.
The change was submitted with unreviewed changes in the following files:

```
The name of the file: src/runtime/extern.go
Insertions: 6, Deletions: 7.

@@ -18,20 +18,19 @@
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://go.dev/pkg/runtime/debug/#SetGCPercent.
+[runtime/debug.SetGCPercent] allows changing this percentage at run time.

-The GOMEMLIMIT sets a soft memory limit for the runtime. This memory limit
-includes the Go heap and all other managed by the runtime, and excludes
-external memory sources such as mappings of binary itself, memory managed in
+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. See https://go.dev/pkg/runtime/debug/#SetMemoryLimit for
-additional details.
+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:
```

Approvals: Michael Pratt: Run TryBots Chris Hines: Looks good to me, but someone else must approve Russ Cox: Looks good to me, approved Gopher Robot: TryBots succeeded
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 <mpr...@google.com>
TryBot-Result: Gopher Robot <go...@golang.org>
Reviewed-by: Chris Hines <chris....@gmail.com>
Reviewed-by: Russ Cox <r...@golang.org>
---
M src/runtime/extern.go
1 file changed, 29 insertions(+), 2 deletions(-)

diff --git a/src/runtime/extern.go b/src/runtime/extern.go
index 5437888..15c519d 100644
--- a/src/runtime/extern.go
+++ b/src/runtime/extern.go
@@ -18,8 +18,19 @@
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:

To view, visit change 410734. To unsubscribe, or for help writing mail filters, visit settings.

Gerrit-Project: go
Gerrit-Branch: master
Gerrit-Change-Id: Ia6616a377bc4c871b7ffba6f5a59792a09b64809
Gerrit-Change-Number: 410734
Gerrit-PatchSet: 4
Gerrit-Owner: Michael Pratt <mpr...@google.com>
Gerrit-Reviewer: Austin Clements <aus...@google.com>
Gerrit-Reviewer: Chris Hines <chris....@gmail.com>
Gerrit-Reviewer: Gopher Robot <go...@golang.org>
Gerrit-Reviewer: Michael Knyszek <mkny...@google.com>
Gerrit-Reviewer: Michael Pratt <mpr...@google.com>
Gerrit-Reviewer: Russ Cox <r...@golang.org>
Gerrit-MessageType: merged
Reply all
Reply to author
Forward
0 new messages