LINUX: Automatischer Restart bei 100% CPU-Auslastung

* Tutorials about servers, viewers and simulators
* Anleitungen über Server, Viewer und Simulatoren

LINUX: Automatischer Restart bei 100% CPU-Auslastung

Beitragvon Lena Vanilli » Di 4. Mai 2010, 09:21

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Huhu Metropolitaner,

wir haben beim Betrieb des OpenSim unter Linux so dann und wann den unangenehmen Nebeneffekt, dass sich die CPU-Auslastung aus unerklärlichen Gründen auf nahezu 100% hochschraubt. Das resultat: alles hängt! :cry:

Das Problem ist dem OS-Dev-Team bekannt, aber man hat die Ursache hierfür noch nicht gefunden. Ein Mantis-Eintrag liet schon seit fast einem Jahr vor! :shock:

Bis das Problem behoben ist, müssen wir also geeignete Mittelchen einsetzen, die das verhindern sollen. Ich hab da mal was script,äßig zusammengeschlampt, das die Serverbelastung überprüft und ab einem vorgegebenen Schwellenwert das OpenSim killed und neu hochfährt.

Das Script-Schnipselchen kommt hier:

Code: Alles auswählen
#!/bin/sh

GRENZ="180"
USER="opensim"

while :
do

sleep 500

ps -e -o pcpu,user | grep $USER | sort -k 1 -r | head -1 | sed s/$USER//g |  cut --delimiter="." --fields=1 > /tmp/cpu_usage.tmp

read wert1 < /tmp/cpu_usage.tmp

if [ $wert1 -ge $GRENZ ]; then
   killall mono
fi

done


Also, was haben wir hier? Unter der Variablen "GRENZ" gebt ihr den Schwellenwert in Prozent ein, ab dem das OpenSim neu gestartet werden soll. In diesem Beispiel steht "180", weil es sich z.B. bei diesem Rechner um DualCore handelt. Warum? Das "ps" rechnet für jede CPU 100%. Bei QuadCore müsste man z.B. "380" eingeben. Alle V-Server laufen nur bis "100", daher würde da "80" als Vorgabe ausreichen. Falls euer rechner trotz mehrerer CPUs nur bis 100% zählt, dann den Wert "GRENZ" entsprechend anpassen.

Dann gebt ihr bei "USER" noch den Namen an, unter welchem ihr das OpenSim gestartet habt. Wenn ihr z.B. mit "root" eingeloggt habt, dann kommt da auch "root" rein.

Als Maßnahme habe ich in diesem Beispiel "killall mono" eingetragen. Ich gehe davon aus, dass ein anderes Wächter-Programm feststellt, ob das OpenSim läuft und dann selbst wieder hochfährt. bei uns ist das so. Falls nicht, können hier natürlich die nötigen Befehle hinterlegt werden, um das OpenSim neu zu starten. wie auch immer man das machen will.

Mit "sleep 500" wird festgelegt, wie lange das Script bis zur nächsten Überprüfung warten soll. Hier sind es etwas über 8 Minuten. Man sollte die Zeit nicht zu kurz wählen, damit gerade beim Hochfahren genügend Zeit bis zur nächsten Überprüfung bleibt. Denn gerade beim Honchfahren ist der rechner ziemlich ausgelastet. Und wenn da schon das Script wirkt, fährt er ihn auch gleich wieder runter. :lol:

Ach ja: ich schreibe die CPU-Auslastung in eine tmp-Datei und lese sie dann wieder ein. Warum? Ich habe die wichtigsten Echtzeit-Kenndaten aller unserer Server in eine html-Page gepackt. Da habe ich dann alles mit einem Blick. Und die CPU-auslastung lese ich dann über die tmp-Datei ein.

Das Script nun noch in den Hintergrund schicken und als Deamon laufen lassen. Evtl. im Cron mit einbauen.

... und auf kleiner Flamme köcheln lassen. :lol:

Grüße
Lena
Alles wird gut!
Benutzeravatar
Lena Vanilli
Administrator
 
Beiträge: 3127
Registriert: Mi 1. Apr 2009, 11:23
Wohnort: Konstanz

Re: LINUX: Automatischer Restart bei 100% CPU-Auslastung

Beitragvon Bogus Curry » Di 4. Mai 2010, 09:47

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Huhu Lena ;D

Gilt diese Auslastung für jede Dist ? Weil einige Dists sind so überfrachtet, wenn ich da an OpenSuSE denke oder an Fedora, die eigentlich auch viel Ballast mitführen. Leider gilt das auch für UBuntu, obwohl die Serverversion wohl etwas schlanker ist.

Vielleicht liegt dieser Fehler auch daran, das sie die Server auf den User gelegt haben, sondern immer auf den Hauptserver gelegt haben.

Ich hab ja seit einiger Zeit ne windowsserver laufen und da hatte ich eigentlich noch nie 100% auslastung gehabt. Aber mir wäre ein Linuxserver eigentlich auch lieber, manchmal ist man halt zu bequem :lol:
Greetings

Bogus

www.GridTalk.de
Benutzeravatar
Bogus Curry
 
Beiträge: 705
Registriert: Mi 31. Mär 2010, 18:41

Re: LINUX: Automatischer Restart bei 100% CPU-Auslastung

Beitragvon Lena Vanilli » Di 4. Mai 2010, 09:53

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Huhu Bogus,

da gehts nur um Linux, und zwar alle Distris.

Gruß
Lena
Alles wird gut!
Benutzeravatar
Lena Vanilli
Administrator
 
Beiträge: 3127
Registriert: Mi 1. Apr 2009, 11:23
Wohnort: Konstanz

Re: LINUX: Automatischer Restart bei 100% CPU-Auslastung

Beitragvon Brunhild » Di 4. Mai 2010, 10:02

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Huhu Bogus,

OpenSuSE ist zwar umfangreich aber es lastet (im Gegensatz zu Windows) das System nur dann aus wenn entsprechende Anwendungen auch gestartet werden. Das selbe wird auch für Ubuntu gelten.

Gruss

Bruni
>>> Bei uns werden Sie geholfen :-D <<<
Benutzeravatar
Brunhild
 
Beiträge: 993
Registriert: So 26. Apr 2009, 14:52
Wohnort: Erlangen

Re: LINUX: Automatischer Restart bei 100% CPU-Auslastung

Beitragvon Bogus Curry » Di 4. Mai 2010, 10:13

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Brunhild hat geschrieben:OpenSuSE ist zwar umfangreich aber es lastet (im Gegensatz zu Windows) das System nur dann aus wenn entsprechende Anwendungen auch gestartet werden. Das selbe wird auch für Ubuntu gelten.


Ja kann ich auch soweit bestätigen. Denke aber auch das liegt an die Programme, die man benutzt.
Greetings

Bogus

www.GridTalk.de
Benutzeravatar
Bogus Curry
 
Beiträge: 705
Registriert: Mi 31. Mär 2010, 18:41

Re: LINUX: Automatischer Restart bei 100% CPU-Auslastung

Beitragvon Bogus Curry » Do 6. Mai 2010, 11:18

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Ich glaube, das Problem liegt darin, das Opensim mehr für .NET programmiert wurde als für Mono. Das heisst halt, das die Umsetzung in Mono bescheiden ausgefallen ist oder nur halbherzig. Was ich eigentlich nicht so nachvollziehen kann, denn es werden überwiegend Linux Server eingesetzt als Windows Server.
Greetings

Bogus

www.GridTalk.de
Benutzeravatar
Bogus Curry
 
Beiträge: 705
Registriert: Mi 31. Mär 2010, 18:41

Re: LINUX: Automatischer Restart bei 100% CPU-Auslastung

Beitragvon Brunhild » Do 6. Mai 2010, 13:08

Translate to English translate to German Translate to French Translate to Italian Translate to Spanish Translate to Portuguese Translate to Czech Перевести на русский язык 翻译成中国

Sorry Bogus,

da muss ich wiedersprechen. Es ist schon öfter vorgekommen dass neue Versionen für Mono rausgekommen sind die unter .NET noch nicht gelaufen sind. Ich denke eher dass eigentlich auf Mono entwickelt wird und später auf .NET portiert wird. Wäre auch logischer da Mono im Gegensatz zu .NET Opensource ist.

Gruss

Bruni
>>> Bei uns werden Sie geholfen :-D <<<
Benutzeravatar
Brunhild
 
Beiträge: 993
Registriert: So 26. Apr 2009, 14:52
Wohnort: Erlangen


Zurück zu Technical Tutorials / Technische Anleitungen

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast



Powered by phpBB

Deutsche Übersetzung durch phpBB.de
.

Style designed by Artodia.