diff options
Diffstat (limited to 'vendor/github.com/KimMachineGun/automemlimit/README.md')
-rw-r--r-- | vendor/github.com/KimMachineGun/automemlimit/README.md | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/vendor/github.com/KimMachineGun/automemlimit/README.md b/vendor/github.com/KimMachineGun/automemlimit/README.md new file mode 100644 index 000000000..804ee7b08 --- /dev/null +++ b/vendor/github.com/KimMachineGun/automemlimit/README.md @@ -0,0 +1,42 @@ +# automemlimit + +[](https://pkg.go.dev/github.com/KimMachineGun/automemlimit) +[](https://goreportcard.com/report/github.com/KimMachineGun/automemlimit) +[](https://github.com/KimMachineGun/automemlimit/actions/workflows/test.yml) + +Automatically set `GOMEMLIMIT` to match Linux [cgroups(7)](https://man7.org/linux/man-pages/man7/cgroups.7.html) memory limit. + +See more details about `GOMEMLIMIT` [here](https://tip.golang.org/doc/gc-guide#Memory_limit). + +## Installation + +```shell +go get github.com/KimMachineGun/automemlimit@latest +``` + +## Usage + +```go +package main + +// By default, it sets `GOMEMLIMIT` to 90% of cgroup's memory limit. +// You can find more details of its behavior from the doc comment of memlimit.SetGoMemLimitWithEnv. +import _ "github.com/KimMachineGun/automemlimit" +``` + +or + +```go +package main + +import "github.com/KimMachineGun/automemlimit/memlimit" + +func init() { + memlimit.SetGoMemLimitWithEnv() + memlimit.SetGoMemLimit(0.9) + memlimit.SetGoMemLimitWithProvider(memlimit.Limit(1024*1024), 0.9) + memlimit.SetGoMemLimitWithProvider(memlimit.FromCgroup, 0.9) + memlimit.SetGoMemLimitWithProvider(memlimit.FromCgroupV1, 0.9) + memlimit.SetGoMemLimitWithProvider(memlimit.FromCgroupV2, 0.9) +} +``` |