From 2d3333dd6b2522d2af7450178a538962f04f2ba8 Mon Sep 17 00:00:00 2001 From: Rohit Gupta <rohit.gupta@eurecom.fr> Date: Mon, 26 Sep 2016 14:13:32 +0200 Subject: [PATCH] Gitlab CI: fix for cleaning memory only when critically low --- cmake_targets/autotests/tools/free_mem.bash | 22 ++++++++++++++++++++- cmake_targets/tools/build_helper | 3 ++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/cmake_targets/autotests/tools/free_mem.bash b/cmake_targets/autotests/tools/free_mem.bash index 873d6121e7..f0a5b03d85 100755 --- a/cmake_targets/autotests/tools/free_mem.bash +++ b/cmake_targets/autotests/tools/free_mem.bash @@ -31,6 +31,26 @@ # \author Navid Nikaein, Rohit Gupta # To free unused memory else test setup runs out of memory -sudo -E bash -c 'echo 3 > /proc/sys/vm/drop_caches ' + +mem_threshold=0.2 #If free memory is less than this threshold, then VM drop cache is called +mem_tot=`vmstat -s -S k |grep "total memory" | awk '{print $1}'` +mem_free=`vmstat -s -S k |grep "free memory" | awk '{print $1}'` + +mem_frac=`bc <<< "scale=4;$mem_free/$mem_tot"` +echo $mem_frac +#mem_frac=`bc <<< "scale=4;`echo $mem_free`/`echo $mem_tot`"` +echo "Total Memory = $mem_tot k " +echo "Free Memory = $mem_free k" +echo "Fraction free memory = $mem_frac " + +res=`bc <<< "$mem_frac < 0.2" ` + +echo "Comparison Result = $res" + +if [ "$res" == "1" ] +then + echo "Free memory less than threshold = $mem_threshold" + sudo -E bash -c 'echo 3 > /proc/sys/vm/drop_caches ' +fi diff --git a/cmake_targets/tools/build_helper b/cmake_targets/tools/build_helper index 4ebe2be1b0..73df7cc640 100755 --- a/cmake_targets/tools/build_helper +++ b/cmake_targets/tools/build_helper @@ -284,7 +284,8 @@ check_install_additional_tools (){ wvdial \ python-numpy \ sshpass \ - nscd + nscd \ + bc $SUDO pip install paramiko $SUDO pip install pyroute2 -- GitLab