-----Original Message----- From: Al Bogner [mailto:suse-linux@ml04c.pinguin.uni.cc] Sent: dinsdag 1 februari 2005 15:32 To: suse-linux@suse.com Subject: Swap-Zuwachs bedrohlich?
Wenn ich mir u.a Bilder ansehe, dann fürchte ich, dass die Swap-Partition voll wird. Was passiert dann? Kürzlich hatte ich mal schon so eine Situation und da hatte ich dann einen Reboot gemacht. Diese intensive Swap-Nutzung entsteht immer dann, wenn der Newsspool nach Viren gescannt wird. Die Swap-Partition hat nur 64MB und das RAM beträgt 448MB. In anderen Situation verwendet das System nie die Swap-Partition.
Hmm, ich hatte mal ein Unix-System auf dem eine defekte software ab und zu einen Prozess startete, der das System in High-Load brachte und den Swap fuellte. Das Resultat war ein "Stillstand" des Systems, die performance ging gegen Null. 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. Bernd This e-mail and any attachment is for authorised use by the intended recipient(s) only. It may contain proprietary material, confidential information and/or be subject to legal privilege. It should not be copied, disclosed to, retained or used by, any other party. If you are not an intended recipient then please promptly delete this e-mail and any attachment and all copies and inform the sender. Thank you.
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.
Bernd
Assalaam ou aleykoum, 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. Tschau! Ulrich -- ¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø * My Box said: "Install WinXP or better ..." So I installed Linux. * ¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø,¸¸,ø¤º°`°º¤ø System: P4-2,4GHz, 512MB. OS: SuSE 9.1, Kernel: 2.6.8.1 http://de.geocities.com/india_ulrich/
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:
participants (3)
-
Bernd Tannenbaum
-
Daniel Lord
-
Ulrich