diff options
author | Bob Igo <bob@stormlogic.com> | 2009-08-03 18:27:55 (GMT) |
---|---|---|
committer | Bob Igo <bob@stormlogic.com> | 2009-08-03 18:27:55 (GMT) |
commit | 3673d58e52b1df1d09fd64ef99934af1ecfcd214 (patch) | |
tree | 201f1655c927e519cadc23101e2a84b80665d338 /abs/core-testing/linhes-scripts/src/limit-mythcommflag.sh | |
parent | 1c8d8e45ae539f9cc20df8eafa9b7c47582d297e (diff) | |
download | linhes_pkgbuild-3673d58e52b1df1d09fd64ef99934af1ecfcd214.zip linhes_pkgbuild-3673d58e52b1df1d09fd64ef99934af1ecfcd214.tar.gz linhes_pkgbuild-3673d58e52b1df1d09fd64ef99934af1ecfcd214.tar.bz2 |
Extracted sources for linhes-scripts so each script gets version control; PKGBUILD changed to reflect this; also changed # of lines used by shootscreens-mythtv.sh to fit on low res displays
Diffstat (limited to 'abs/core-testing/linhes-scripts/src/limit-mythcommflag.sh')
-rwxr-xr-x | abs/core-testing/linhes-scripts/src/limit-mythcommflag.sh | 54 |
1 files changed, 54 insertions, 0 deletions
diff --git a/abs/core-testing/linhes-scripts/src/limit-mythcommflag.sh b/abs/core-testing/linhes-scripts/src/limit-mythcommflag.sh new file mode 100755 index 0000000..8ca61c7 --- /dev/null +++ b/abs/core-testing/linhes-scripts/src/limit-mythcommflag.sh @@ -0,0 +1,54 @@ +#!/bin/bash +# limit-mythcommflag.sh v0.1 05/17/09 +# Utility to automatically limit mythcommflag if CPU usage is above a certain level. +# Uses cpulimit from http://cpulimit.sourceforge.net/ +# Free for any use. +# Installation: +# cp limit-mythcommflag.sh /usr/LH/bin +# chmod +x /usr/LH/bin/limit-mythcommflag.sh +# Usage: Executed from runit limit-mythcommflag at boot + +# Threshold for when mythcommflag will be paused +CPUTHRESHOLD=43 + +# Limit mythcommflag to percentage +LIMITCPU=20 + +# Log file to write (use /dev/null for no log) +#LOG=/var/log/mythtv/limit-mythcommflag.log +LOG=/dev/null + +# Number of seconds to wait between checking for mythcommflag process +SLEEP=5 + +#sleep $SLEEP + +touch $LOG + +ALREADYLIMITED=0 + +while true; do + PROCCOMMFLAG=`pidof mythcommflag` + if [ -n "${PROCCOMMFLAG}" ] + then + FRONTENDCPU=`top -bn1u mythtv | grep mythfrontend | awk '{ print $9 }'` + if [ "$FRONTENDCPU" -ge "$CPUTHRESHOLD" ] + then + echo "$(date) FE CPU $FRONTENDCPU% is greater than $CPUTHRESHOLD%, LIMIT Commflagging" # >> $LOG + if [ $ALREADYLIMITED -eq 0 ]; then + cpulimit -e mythcommflag -l $LIMITCPU & + cpulimit_pid=$! + ALREADYLIMITED=1 + fi + else + echo "$(date) FE CPU $FRONTENDCPU% is less than $CPUTHRESHOLD%, UNLIMIT Commflagging" #>> $LOG + if [ $ALREADYLIMITED -eq 1 ]; then + kill $cpulimit_pid + ALREADYLIMITED=0 + fi + fi +# else +# echo "No COMMFLAG Process Active" >> $LOG + fi + sleep $SLEEP +done |