diff options
author | HÃ¥kon Hallingstad <hakon@verizonmedia.com> | 2019-06-24 10:29:57 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2019-06-24 10:29:57 +0200 |
commit | 9e793e7bdca0862bca330cb21fa5ebb1a81c8f21 (patch) | |
tree | eb71365692749690447a99670bf06bd441515d9b | |
parent | 2da125f0babd1aa4314811e8e80ec4e127786102 (diff) | |
parent | 657f8e2f1c7c790547a346ae991cc13574277227 (diff) |
Merge pull request #9879 from vespa-engine/freva/avoid-VESPA_TOTAL_MEMORY
Get available limit from cgroups if set
-rwxr-xr-x | container-disc/src/main/sh/vespa-start-container-daemon.sh | 5 | ||||
-rw-r--r-- | node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/container-disc/src/main/sh/vespa-start-container-daemon.sh b/container-disc/src/main/sh/vespa-start-container-daemon.sh index 65826e650c4..53b1e54dda5 100755 --- a/container-disc/src/main/sh/vespa-start-container-daemon.sh +++ b/container-disc/src/main/sh/vespa-start-container-daemon.sh @@ -71,6 +71,11 @@ configure_memory() { available="$VESPA_TOTAL_MEMORY_MB" else available=`free -m | grep Mem | tr -s ' ' | cut -f2 -d' '` + if hash cgget 2>/dev/null; then + available_cgroup_bytes=$(cgget -nv -r memory.limit_in_bytes /) + available_cgroup=$((available_cgroup_bytes >> 20)) + available=$((available > available_cgroup ? available_cgroup : available)) + fi fi jvm_heapsize=$((available * jvm_heapSizeAsPercentageOfPhysicalMemory / 100)) diff --git a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java index 1a993b2687c..d8d6b4781c8 100644 --- a/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java +++ b/node-admin/src/main/java/com/yahoo/vespa/hosted/node/admin/docker/DockerOperationsImpl.java @@ -118,6 +118,7 @@ public class DockerOperationsImpl implements DockerOperations { if (minMainMemoryAvailableMb > 0) { // VESPA_TOTAL_MEMORY_MB is used to make any jdisc container think the machine // only has this much physical memory (overrides total memory reported by `free -m`). + // TODO: Remove after all tenants are running > 7.67 command.withEnvironment("VESPA_TOTAL_MEMORY_MB", Long.toString(minMainMemoryAvailableMb)); } |