BFS revisited.

From: NASA Jeff
Date: Sun Nov 01 2020 - 11:21:16 EST


Here's a somewhat imperfect, though short script I knocked together that fixes scheduling issues.

while true
do
for i in `iotop -P -b -q -o -d 0.1 -n 10 | awk -F ' ' '{if ( $1 ~ /[0-9]/ && $10 > 10) print $1}'`
do
ionice -c 3 -p $i
echo "process $i reniced to idel as it was hogging io"
done
for i in `top -b -d 0.1 -n 10 | awk -F ' ' '{if ( $1 ~ /[0-9]/ && $4 == 0 && $9 > 15) print $1}'`
do
renice -n 10 -p $i
echo "process $i reniced to idel as it was hogging cpu"
done
for i in `top -b -d 0.1 -n 10 | awk -F ' ' '{if ( $1 ~ /[0-9]/ && $4 == 10 && $9 < 10) print $1}'`
do
renice -n 0 -p $i
echo "process $i reniced to idel as it stopped hogging cpu"
done
sleep 0.5
done