This is a small, focused Go library that automatically sets the GOMEMLIMIT environment variable for Go applications based on the Linux cgroup memory limit. It provides a simple side-effect import (import _ "github.com/KimMachineGun/automemlimit") that configures the Go runtime memory limit to a configurable fraction (default 90%) of the cgroup limit, or alternatively offers a programmatic API via memlimit.Set() with options for custom providers, ratios, minimum limits, and periodic refresh. The library handles both cgroup v1 and v2, correctly resolving the effective memory limit from the cgroup hierarchy, including handling of conflicting mounts, unlimited memory sentinels, and fallback to system memory. It is not a hybrid; it is purely an application library.