You are not logged in.

#1 2012-08-21 19:53:16

Pacopag
Member
Registered: 2011-05-29
Posts: 287

kill tumblerd for good

Hi.  tumblerd keeps sucking up resources and freezing up my system because I have a file manager open containing a huge tif file.  I do

pkill tumblerd

and it kills it and I recover my ram and cpu and everything works good.  But it seems like any time I do ANYTHING, tumblerd comes back.  How do I kill it for the remainder of my session?

Offline

#2 2014-03-21 23:43:22

wchouser3
Member
From: Indiana USA
Registered: 2013-08-13
Posts: 160
Website

Re: kill tumblerd for good

here's a script for a work around...get the word out on this one. It really works. Copy. and paste it into a blank file, make it executable, and set it up to run at system start up. You'll be able to keep tumblerd without the headaches.

#!/bin/bash
# Tumblerdwatcher v 1.0
# Script to check and kill tumblerd process if a loop is suspected. To be automatically scheduled at user session start.
# Homemade workaround for bug: http://forums.linuxmint.com/viewtopic.p … rd#p554241
# The author has no responsibility for the execution. Feel free to distribute and modify it.
# Advice are welcome to rs2809@yahoo.it.

period=60                  # check period (sec)
process="/usr/lib/i386-linux-gnu/tumbler-1/tumblerd"   # tumblerd binary path
Pcpu=20                     # tolerated cpu usage (%)
Pmem=25                     # tolerated memory usage (%)
mountpath="/media"               # automatic mount point for removable storage
sec=10                     # time limit (sec) for opened file at $mountpath for thumbnail generation
sg="-15"                  # process termination signal (-15 is OK)
logpath="/tmp/Tumblerdwatcher.log"         # log path                     

cat /dev/null > $logpath
exec >$logpath 2>&1
# reset log file

while true
# execute endlessly

do

sleep $period
# wait a set period of time

[[ `ps -ef | grep $process | grep -v 'grep' | wc -l` -eq 0 ]] && continue
# skip to next period if not executing

ps -eo pcpu,pid,pmem,args | grep $process | grep -v 'grep' | while read dpcpu pid dpmem
# catch proccess id, cpu usage and memory usage

  do

  pcpu=`echo $dpcpu | cut -d'.' -f1`
  pmem=`echo $dpmem | cut -d'.' -f1`

  [[ $pcpu -gt $Pcpu ]] || [[ $pmem -gt $Pmem ]] && kill $sg $pid && echo "`date` PID $pid $pcpu/$Pcpu %cpu $pmem/$Pmem %mem" && continue
# if cpu usage or memory usage exceed, kill it and report values in the log file

  [[ `lsof -p $pid | grep $mountpath | wc -l` -eq 0 ]] && continue
# if no opened file by tumblerd at removable storage mountpoint, skip to next period

  lsof -p $pid | grep $mountpath | tr -s ' ' | cut -d' ' -f9 > /tmp/tumblerd.lsof.old
# list opened files

  sleep $sec
# wait for tolerated time limit

  [[ `lsof -p $pid | grep $mountpath | wc -l` -eq 0 ]] && continue
# if no more opened file skip to next period

  lsof -p $pid | grep $mountpath | tr -s ' ' | cut -d' ' -f9 > /tmp/tumblerd.lsof.new
# list opened files again

  for opened_file in `cat /tmp/tumblerd.lsof.old`
# if some file was open before....
   do

     grep $opened_file /tmp/tumblerd.lsof.new && kill $sg $pid && echo "`date` PID $pid ^^^^^^^^^^^^^^^^^^^^^^^^" && continue
# ...and it's still hung open, kill tumblerd
   done

  done

done


If you can't be helpful, don't say anything at all. Fair enough?

Offline

#3 2014-03-21 23:51:22

jasonwryan
Anarchist
From: .nz
Registered: 2009-05-09
Posts: 30,424
Website

Re: kill tumblerd for good

Please use code tags when pasting to the boards: https://wiki.archlinux.org/index.php/Fo … s_and_Code

And there is no need to crosspost and necrobump: https://wiki.archlinux.org/index.php/Fo … Bumping.27



Closing


Arch + dwm   •   Mercurial repos  •   Surfraw

Registered Linux User #482438

Offline

Board footer

Powered by FluxBB