Documentation
¶
Index ¶
- Variables
- func FromCgroup() (uint64, error)
- func FromCgroupV1() (uint64, error)
- func FromCgroupV2() (uint64, error)
- func Limit(limit uint64) func() (uint64, error)
- func SetGoMemLimit(ratio float64) (int64, error)
- func SetGoMemLimitWithEnv()
- func SetGoMemLimitWithOpts(opts ...Option) (_ int64, _err error)
- func SetGoMemLimitWithProvider(provider Provider, ratio float64) (int64, error)
- type Option
- type Provider
Constants ¶
This section is empty.
Variables ¶
var ( // ErrNoLimit is returned when the memory limit is not set. ErrNoLimit = errors.New("memory is not limited") // ErrNoCgroup is returned when the process is not in cgroup. ErrNoCgroup = errors.New("process is not in cgroup") // ErrCgroupsNotSupported is returned when the system does not support cgroups. ErrCgroupsNotSupported = errors.New("cgroups is not supported on this system") )
Functions ¶
func FromCgroup ¶
FromCgroup returns the memory limit based on the cgroups version on this system.
func FromCgroupV1 ¶
FromCgroupV1 returns the memory limit from the cgroup v1.
func FromCgroupV2 ¶
FromCgroupV2 returns the memory limit from the cgroup v2.
func SetGoMemLimit ¶
SetGoMemLimit sets GOMEMLIMIT with the value from the cgroup's memory limit and given ratio.
func SetGoMemLimitWithEnv ¶ added in v0.2.0
func SetGoMemLimitWithEnv()
SetGoMemLimitWithEnv sets GOMEMLIMIT with the value from the environment variable. You can configure how much memory of the cgroup's memory limit to set as GOMEMLIMIT through AUTOMEMLIMIT in the half-open range (0.0,1.0].
If AUTOMEMLIMIT is not set, it defaults to 0.9. (10% is the headroom for memory sources the Go runtime is unaware of.) If GOMEMLIMIT is already set or AUTOMEMLIMIT=off, this function does nothing.
func SetGoMemLimitWithOpts ¶ added in v0.3.0
SetGoMemLimitWithOpts sets GOMEMLIMIT with options.
Options:
- WithRatio
- WithEnv (see more SetGoMemLimitWithEnv)
- WithProvider
Types ¶
type Option ¶ added in v0.3.0
type Option func(cfg *config)
Option is a function that configures the behavior of SetGoMemLimitWithOptions.
func WithEnv ¶ added in v0.3.0
func WithEnv() Option
WithEnv configures whether to use environment variables.
Default: false