From 9c7de4a6c3174d1d03db0e9c2b43de204c12a0ce Mon Sep 17 00:00:00 2001 From: Stefan Agner Date: Tue, 23 Aug 2022 16:02:51 +0200 Subject: [PATCH] Improve system behavior on low memory situation (#3781) * Improve system behavior on low memory situation Adjust OOM killer score to prevent crucial services from getting selected. * Adjust OOM score of DNS plug-in as well --- supervisor/docker/addon.py | 1 + supervisor/docker/dns.py | 1 + supervisor/docker/homeassistant.py | 1 + supervisor/docker/observer.py | 1 + 4 files changed, 4 insertions(+) diff --git a/supervisor/docker/addon.py b/supervisor/docker/addon.py index 4565a13b7..69b86c9f0 100644 --- a/supervisor/docker/addon.py +++ b/supervisor/docker/addon.py @@ -489,6 +489,7 @@ class DockerAddon(DockerInterface): environment=self.environment, volumes=self.volumes, tmpfs=self.tmpfs, + oom_score_adj=200, ) except DockerNotFound: self.sys_resolution.create_issue( diff --git a/supervisor/docker/dns.py b/supervisor/docker/dns.py index c83be8e82..a945010a0 100644 --- a/supervisor/docker/dns.py +++ b/supervisor/docker/dns.py @@ -50,6 +50,7 @@ class DockerDNS(DockerInterface, CoreSysAttributes): str(self.sys_config.path_extern_dns): {"bind": "/config", "mode": "rw"}, DBUS_PATH: DBUS_VOLUME, }, + oom_score_adj=-300, ) self._meta = docker_container.attrs diff --git a/supervisor/docker/homeassistant.py b/supervisor/docker/homeassistant.py index d16b8d5e2..d01e229f4 100644 --- a/supervisor/docker/homeassistant.py +++ b/supervisor/docker/homeassistant.py @@ -149,6 +149,7 @@ class DockerHomeAssistant(DockerInterface): ENV_TOKEN_OLD: self.sys_homeassistant.supervisor_token, }, tmpfs={"/tmp": ""}, + oom_score_adj=-300, ) self._meta = docker_container.attrs diff --git a/supervisor/docker/observer.py b/supervisor/docker/observer.py index 0f30482ad..a829a20f3 100644 --- a/supervisor/docker/observer.py +++ b/supervisor/docker/observer.py @@ -55,6 +55,7 @@ class DockerObserver(DockerInterface, CoreSysAttributes): }, volumes={"/run/docker.sock": {"bind": "/run/docker.sock", "mode": "ro"}}, ports={"80/tcp": 4357}, + oom_score_adj=-300, ) self._meta = docker_container.attrs