diff options
author | Valerij Fredriksen <freva@users.noreply.github.com> | 2021-10-29 11:14:50 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-10-29 11:14:50 +0200 |
commit | 1299868a881e1a3ba06625c0ec5b2726ed26276b (patch) | |
tree | 131411e06c4e7d44da89620a3b384e72fb597d5b /container-disc/src | |
parent | bbc57028ea8db2e570d7946b52be163c209d059b (diff) | |
parent | 15e3cf6b9096b6c2c14fdaffc69f013e627680b8 (diff) |
Merge pull request #19786 from vespa-engine/hakonhall/get-minimum-value-from-cgroups-v2-hierarchy
Get minimum value from cgroups v2 hierarchy
Diffstat (limited to 'container-disc/src')
-rwxr-xr-x | container-disc/src/main/sh/vespa-start-container-daemon.sh | 25 |
1 files changed, 18 insertions, 7 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 ec3366a62d7..da7e270890d 100755 --- a/container-disc/src/main/sh/vespa-start-container-daemon.sh +++ b/container-disc/src/main/sh/vespa-start-container-daemon.sh @@ -90,19 +90,30 @@ vespa_cg2get() { local leaf_dir="$root_dir$slice" local current_dir="$leaf_dir" - while true; do + local min_value= + while (( ${#current_dir} >= ${#root_dir} )); do local path="$current_dir"/"$filename" if [ -r "$path" ]; then - cat "$path" - return 0 + local value=$(< "$path") + if [ -z "$min_value" ]; then + min_value="$value" + elif [ "$min_value" == max ]; then + min_value="$value" + elif [ "$value" != max ] && (( value < min_value )); then + min_value="$value" + fi fi current_dir="${current_dir%/*}" - if (( ${#current_dir} < ${#root_dir} )); then - echo "No such filename was found at $leaf_dir: $filename" >&2 - return 1 - fi done + + if [ -z "$min_value" ]; then + echo "No such filename was found at $leaf_dir: $filename" >&2 + return 1 + fi + + echo "$min_value" + return 0 } configure_memory() { |