e2a1ca7caa
Worker processes may have memory limitations imposed by Systemd. But /proc/meminfo shows the entire system memory regardless of these limits. This results in the scheduler believing the worker has the entire system memory avaliable and the worker being allocated too many tasks. This change attempts to read cgroup memory limits for the worker process. It supports cgroups v1 and v2, and compares cgroup limits against the system memory and returns the most conservative values to prevent the worker from being allocated too many tasks and potentially triggering an OOM event.
13 lines
276 B
Go
13 lines
276 B
Go
//go:build !linux
|
|
// +build !linux
|
|
|
|
package sectorstorage
|
|
|
|
func cgroupV1Mem() (memoryMax, memoryUsed, swapMax, swapUsed uint64, err error) {
|
|
return 0, 0, 0, 0, nil
|
|
}
|
|
|
|
func cgroupV2Mem() (memoryMax, memoryUsed, swapMax, swapUsed uint64, err error) {
|
|
return 0, 0, 0, 0, nil
|
|
}
|