mirror of
https://github.com/kemko/nomad.git
synced 2026-01-06 10:25:42 +03:00
raw_exec: oom_score_adj support (#23308)
This commit is contained in:
committed by
GitHub
parent
94bb91ab80
commit
85430be6dd
@@ -121,8 +121,8 @@ func (e *UniversalExecutor) statCG(cgroup string) (int, func(), error) {
|
||||
func (e *UniversalExecutor) configureResourceContainer(command *ExecCommand, pid int) (func(), error) {
|
||||
cgroup := command.StatsCgroup()
|
||||
|
||||
// ensure tasks do not inherit Nomad agent oom_score_adj value
|
||||
if err := e.setOomAdj(); err != nil {
|
||||
// ensure tasks get the desired oom_score_adj value set
|
||||
if err := e.setOomAdj(command.OOMScoreAdj); err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
@@ -280,12 +280,10 @@ func (e *UniversalExecutor) configureCG2(cgroup string, command *ExecCommand) {
|
||||
_ = ed.Write("cpuset.cpus", cpusetCpus)
|
||||
}
|
||||
|
||||
func (e *UniversalExecutor) setOomAdj() error {
|
||||
// children should not inherit Nomad agent oom_score_adj value
|
||||
//
|
||||
func (e *UniversalExecutor) setOomAdj(oomScore int32) error {
|
||||
// /proc/self/oom_score_adj should work on both cgroups v1 and v2 systems
|
||||
// range is -1000 to 1000; 0 is the default
|
||||
return os.WriteFile("/proc/self/oom_score_adj", []byte("0"), 0644)
|
||||
return os.WriteFile("/proc/self/oom_score_adj", []byte(strconv.Itoa(int(oomScore))), 0644)
|
||||
}
|
||||
|
||||
func (*UniversalExecutor) computeCPU(command *ExecCommand) uint64 {
|
||||
|
||||
Reference in New Issue
Block a user