From 0ee935dd7218449594e25f2fda9d7e3a74ae84ed Mon Sep 17 00:00:00 2001 From: Michael Vines Date: Tue, 7 Aug 2018 10:23:38 -0700 Subject: [PATCH] Adjust fullnode/drone oom_score_adj to goad the kernel into killing it first --- multinode-demo/common.sh | 15 +++++++++++++++ multinode-demo/drone.sh | 1 + multinode-demo/leader.sh | 1 + multinode-demo/validator.sh | 1 + 4 files changed, 18 insertions(+) diff --git a/multinode-demo/common.sh b/multinode-demo/common.sh index f93a2600a..b636c2c01 100644 --- a/multinode-demo/common.sh +++ b/multinode-demo/common.sh @@ -173,6 +173,21 @@ tune_networking() { fi } +oom_score_adj() { + declare pid=$1 + declare score=$2 + if [[ $(uname) != Linux ]]; then + return + fi + + ( + echo "$score" > "/proc/$pid/oom_score_adj" + if [[ $score != $(cat "/proc/$pid/oom_score_adj") ]]; then + echo "Failed to set oom_score_adj for pid $pid" + fi + ) +} + SOLANA_CONFIG_DIR=${SNAP_DATA:-$PWD}/config SOLANA_CONFIG_PRIVATE_DIR=${SNAP_DATA:-$PWD}/config-private SOLANA_CONFIG_VALIDATOR_DIR=${SNAP_DATA:-$PWD}/config-validator diff --git a/multinode-demo/drone.sh b/multinode-demo/drone.sh index 3d811aee3..1bee18dcf 100755 --- a/multinode-demo/drone.sh +++ b/multinode-demo/drone.sh @@ -42,4 +42,5 @@ $solana_drone \ -l "$SOLANA_CONFIG_DIR"/leader.json -k "$SOLANA_CONFIG_PRIVATE_DIR"/mint.json \ > >($drone_logger) 2>&1 & pid=$! +oom_score_adj "$pid" 1000 wait "$pid" diff --git a/multinode-demo/leader.sh b/multinode-demo/leader.sh index b0b031e1f..692318d8e 100755 --- a/multinode-demo/leader.sh +++ b/multinode-demo/leader.sh @@ -31,4 +31,5 @@ $program \ --ledger "$SOLANA_CONFIG_DIR"/ledger \ > >($leader_logger) 2>&1 & pid=$! +oom_score_adj "$pid" 1000 wait "$pid" diff --git a/multinode-demo/validator.sh b/multinode-demo/validator.sh index 4ef18f62d..c6215463e 100755 --- a/multinode-demo/validator.sh +++ b/multinode-demo/validator.sh @@ -108,4 +108,5 @@ $program \ --ledger "$SOLANA_LEADER_CONFIG_DIR"/ledger \ > >($validator_logger) 2>&1 & pid=$! +oom_score_adj "$pid" 1000 wait "$pid"