daemon: don't adjust oom-score if score is 0

This patch makes two changes if --oom-score-adj is set to 0

- do not adjust the oom-score-adjust cgroup for dockerd
- do not set the hard-coded -999 score for containerd if
  containerd is running as child process

Before this change:

oom-score-adj | dockerd       | containerd as child-process
--------------|---------------|----------------------------
-             | -500          | -500 (same as dockerd)
-100          | -100          | -100 (same as dockerd)
 0            |  0            | -999 (hard-coded default)

With this change:

oom-score-adj | dockerd       | containerd as child-process
--------------|---------------|----------------------------
-             | -500          | -500 (same as dockerd)
-100          | -100          | -100 (same as dockerd)
0             | not adjusted  | not adjusted

Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
This commit is contained in:
Sebastiaan van Stijn 2020-10-05 17:50:23 +02:00
parent 1a5b7f50bc
commit cf7a5be0f2
No known key found for this signature in database
GPG key ID: 76698F39D527CE8C
2 changed files with 3 additions and 3 deletions

View file

@ -1636,6 +1636,9 @@ func setMayDetachMounts() error {
} }
func setupOOMScoreAdj(score int) error { func setupOOMScoreAdj(score int) error {
if score == 0 {
return nil
}
f, err := os.OpenFile("/proc/self/oom_score_adj", os.O_WRONLY, 0) f, err := os.OpenFile("/proc/self/oom_score_adj", os.O_WRONLY, 0)
if err != nil { if err != nil {
return err return err

View file

@ -28,9 +28,6 @@ func (r *remote) setDefaults() {
if r.Debug.Address == "" { if r.Debug.Address == "" {
r.Debug.Address = filepath.Join(r.stateDir, debugSockFile) r.Debug.Address = filepath.Join(r.stateDir, debugSockFile)
} }
if r.OOMScore == 0 {
r.OOMScore = -999
}
for key, conf := range r.pluginConfs.Plugins { for key, conf := range r.pluginConfs.Plugins {
if conf == nil { if conf == nil {