Hallo Ulrich, On Wed, 02 Feb 2005, Ulrich wrote:
Also schrieb Bernd Tannenbaum am Mittwoch Februar 2 2005 16:39:
Um das zu verhindern, kann ein einfaches Script mit wenigen Zeilen als cronjob den swap checken und zum Beispiel bei mehr als 90% usage nach der verantwortlichen Prozessid greppen und diesen Prozess killen.
Ist natuerlich nur ein Workaround, aber sicher besser als sich mit reboots rumaergern zu muessen.
Falls jemand so ein Skript haette, dann waere es eine gute Idee um dies hier zu veroeffentlichen. Ich hatte ein solches Problem auch schon mal. Konqueror hatte siesbezueglich einen Fehler.
der Kernel killt solche prozesse eigentlich eigenmächtig (VM kills in /var/log/messages) Denoch ein gerade kurz zusammengeschriebenes Bsp Skript. Es tötet bei einer Swap Nutzung von mehr als 90% den Prozess mit der höchsten Swap Nutzung. Keine Garantie, dass es überhaupt was sinnvolles tut. etc. pp. Achso, sollte init mal den meißten swap benutzen oder kjournal oder was auch immer wird es gnadenlos getötet --> V O R S I C H T ;) #!/bin/bash # script to kill bad prozesses with excessiv swap usage # ungetestet und buggy SU=0 PID=666666 SWAP=`awk '/Swap: / {print ($3*100)/$2}' /proc/meminfo` if test "$SWAP" -ge "90" then ps ax -o vsz,pid | grep -v VSZ | while read line do T=`echo $line | cut -d ' ' -f1` TT=`echo $line | cut -d ' ' -f2` if test "$T" -ge "$SU" then SWP=$T PID=$TT fi logger "kill pid $PID" || echo "kill pid $PID" kill $PID sleep 2 kill -KILL $PID done fi Greetings Daniel -- Ich denke, also bin ich dagegen! :evil: