Ubuntu: earlyoom for CPU usage



Question:

I have installed a program called earlyoom which kills the most RAM intensive when my RAM and Swap is almost full. However, I realized that my laptop is constantly freezing due to CPU usage being at 100% on all four virtual cores(2 cores with hyperthreading. Is there any program or script that kills the most CPU intensive program when the CPU is at 100%?


Solution:1

I found this which seems to address your needs. I haven't tested it ... you should be able to adapt it for your purposes. Of course, indiscriminately killing random processes automatically may be inadvisable.

#!/bin/bash    ## Note: will kill the top-most process if the $CPU_LOAD is greater than the $CPU_THRESHOLD.  echo  echo checking for run-away process ...    CPU_LOAD=$(uptime | cut -d"," -f4 | cut -d":" -f2 | cut -d" " -f2 | sed -e "s/\.//g")  CPU_THRESHOLD=300  PROCESS=$(ps aux r)  TOPPROCESS=$(ps -eo pid -eo pcpu -eo command | sort -k 2 -r | grep -v PID | head -n 1)    if [ $CPU_LOAD -gt $CPU_THRESHOLD ] ; then    # kill -9 $(ps -eo pid | sort -k 1 -r | grep -v PID | head -n 1) #original    # kill -9 $(ps -eo pcpu | sort -k 1 -r | grep -v %CPU | head -n 1)    kill -9 $TOPPROCESS    echo system overloading!    echo Top-most process killed $TOPPROCESS    echo load average is at $CPU_LOAD    echo     echo Active processes...    ps aux r      # send an email using mail    SUBJECT="Runaway Process Report"    # Email To ?    EMAIL="me@email.com"    # Email text/message    EMAILMESSAGE="/tmp/emailmessage.txt"    echo "System overloading, possible runaway process."> $EMAILMESSAGE    echo "Top-most process killed $TOPPROCESS" >>$EMAILMESSAGE    echo "Load average was at $CPU_LOAD" >>$EMAILMESSAGE    echo "Active processes..." >>$EMAILMESSAGE    echo "$PROCESS" >>$EMAILMESSAGE    mail -s "$SUBJECT" "$EMAIL" < $EMAILMESSAGE    else   echo   echo no run-aways.    echo load average is at $CPU_LOAD   echo    echo Active processes...   ps aux r  fi  exit 0  

Note:If u also have question or solution just comment us below or mail us on toontricks1994@gmail.com
Previous
Next Post »