From 4671ce5bdc54e615311f6f47014ea9fa1d8c90fa Mon Sep 17 00:00:00 2001 From: Andrew Cady Date: Tue, 19 Oct 2021 09:37:20 -0400 Subject: ioslay: keep 10 iterations worth of data from iotop --- ioslay-firefox | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/ioslay-firefox b/ioslay-firefox index eac3184..d56553f 100755 --- a/ioslay-firefox +++ b/ioslay-firefox @@ -21,22 +21,36 @@ set -- $(web_content_pids | tac) set -- $(printf "\055\055pid=%s " $*) +log= over_count=0 sudo -- iotop -qq -b "$@" | while read line do case "$line" in "Total DISK"*) - if [ "$OVER" ] + if [ "$over" ] then - over_count=$((over_count + 1)) - if [ "$over_count" -gt 3 ] - then - fireslay - fi + log="$log 1" over= else - over_count=0 + log="$log 0" + fi + set -- $log + while [ $# -gt 10 ] + do + shift + done + log=$* + + total=0 + echo "log=$log" >&2 + for n in $log + do + total=$((total+n)) + done + if [ "$total" -gt 5 ] + then + fireslay fi ;; "Current DISK"*) continue ;; @@ -45,7 +59,7 @@ sudo -- iotop -qq -b "$@" | pct=${10%.*} if [ $pct -gt 90 ] then - printf '[%d] %s%% %s\n' "$over_count" "${10}" "${12}" >&2 + printf '[%d] %s%% %s\n' "$total" "${10}" "${12}" >&2 over=y fi ;; -- cgit v1.2.3