Stefan1200's Forum

JTS3ServerMod Hosting Edition => JTS3ServerMod MySQL & WebInterface => Topic started by: romaN on August 06, 2012, 09:39:26 AM

Title: CPU Aulastung 100%
Post by: romaN on August 06, 2012, 09:39:26 AM
Hallo,

Wenn wir das Interface mit dem Bot starten, verbraucht dieser am anfang 1% CPU und 0,5% MEM.
Lassen wir den Bot nun einpaar Tage laufen, geht die CPU Auslastung auf 95-100% hoch.

(http://i47.tinypic.com/2j41pic.png)

Dem Bot haben wir 1 GB Ram zugewiesen. Haben das ganze auch mal mit 10 GB getestet. Jedoch passiert das selbe. :D
Wir haben derzeit 91 registrierte Bots im Interface.

Unser System:
AMD FX-8150 (8x3600 MHz)
32 GB DDR3 Ram
500GB SATA III HDD
1000 MBIT


Gibts dafür ne lösung? :p


Gruß romaN
Title: Re: CPU Aulastung 100%
Post by: TiBest on August 06, 2012, 04:12:09 PM
das habe ich auch manchmal das geht aber nach paar minuten wieder weg oder einfach neustarten
Title: Re: CPU Aulastung 100%
Post by: romaN on August 06, 2012, 10:16:26 PM
Also bei uns geht das nicht weg... und jeden Tag den Bot neuzustarten ist auch ne kack arbeit...
Kann man da was machen, dass der sich automatisch jede Nacht neustartet?

edit:

Habe den Bot gestern um 23 Uhr gekillt und wieder gestartet. alles gut. Nun gucke ich um kurz vor 11 in htop rein und sehe das er alle 8 kerne auf 100% zieht... wtf -.-
Title: Re: CPU Aulastung 100%
Post by: TiBest on August 07, 2012, 05:29:40 PM
dann stimmt was bei dir nicht oder es liegt an java selber weil ich hab das nur wenn so ein noob versucht den bot einzurichten dann habe ich voll viel arbeistspeicher und cpu auslastung aber auch auf fast 100%
Title: Re: CPU Aulastung 100%
Post by: romaN on August 07, 2012, 11:35:37 PM
Okay... also gerade war es sehr extrem... nach ca 30 minuten waren direkt 4 Prozesse auf 100% vom Ts3 Bot.
Title: Re: CPU Aulastung 100%
Post by: TiBest on August 10, 2012, 12:17:33 PM
und ist es immer noch so schlimm
Title: Re: CPU Aulastung 100%
Post by: Stefan1200 on August 11, 2012, 07:03:05 AM
Dieser Fehler ist bekannt und tritt auf, sobald es sehr viele Bots werden. Da hilft es nur den betreffenden virtuellen Bot neu zu laden über das webinterface. Den genauen Grund konnte ich bisher noch nicht ermitteln.

Aber bitte prüft auch, ob ihr von dem Java und Linux Date Bug betroffen seit.
Hier ein paar Links zu dem Thema:
www.golem.de/news/zeitsprung-wie-die-schaltsekunde-chaos-im-internet-verursachte-1207-92890.html
www.itworld.com/hardware/284642/linux-blamed-leap-second-embarrassment-humbled-internet
https://access.redhat.com/knowledge/articles/15145
Title: Re: CPU Aulastung 100%
Post by: TiBest on August 11, 2012, 12:43:56 PM
der bot bei mir läuft auf windows da habe ich es sehr sehr selten
Title: Re: CPU Aulastung 100%
Post by: romaN on August 13, 2012, 04:58:04 PM
Gibt es die möglichkeit dass der prozess vom bot einfach nur auf 1 cpu kern läuft?
Wenn ja wie kann man das einstellen? Weil dann wäre mir das sowas von egal ob da 1 Kern auf 100% ist oder nicht :D
Title: Re: CPU Aulastung 100%
Post by: TiBest on August 13, 2012, 06:06:36 PM
such mal nach taskset für linux in google
Title: Re: CPU Aulastung 100%
Post by: romaN on August 14, 2012, 08:50:16 PM
Also ich habe jetzt den Bot mal einpaar Tage lang offline gelassen.
Nun hab ich den vorhin gestartet um zu gucken ob das mit dem taskset funktioniert.

Und siehe da, die CPU auslastung ist nicht mehr hoch gegangen nachdem ich den Prozess auf 1 Kern gesetzt hab.
Dann wollte ich mal testen ob der wieder auf 100% geht wenn ich taskset nicht drin habe.

Nach nicht einmal 5 min waren 2 Prozesse auf 100% Auslastung. 2 weitere waren auf 1-5% Auslastung.

Wenn ich nun den Bot wieder starte, und taskset einstelle, bekomme ich direkt 2 Prozesse die auf je 50% laufen und somit den 8. Kern vom root auf 100% setzen.

Wieso bekomm ich direkt 2-4 Prozesse mit verschiedenen PIDs wenn ich den Bot starte? Wo ich heute das erste mal ihn gestartet habe, lief nur 1 Prozess.
Title: Re: CPU Aulastung 100%
Post by: TiBest on August 25, 2012, 01:18:22 PM
und haste problem gelöst weil eigentlich nimmt er nur 1 kern wenn du das so eingestellt hast
Title: Re: CPU Aulastung 100%
Post by: romaN on August 25, 2012, 09:55:32 PM
Also bei uns läuft jetzt 1 kern auf 100% durchgehend... uns stört das aber recht wenig :D
Title: Re: CPU Aulastung 100%
Post by: TiBest on August 25, 2012, 11:14:00 PM
ok aber denk nicht das es gut ist für die cpu das der jeden tag auf 100% :-)
Title: Re: CPU Aulastung 100%
Post by: bogi on August 26, 2012, 09:56:49 PM
Quote from: romaN on August 25, 2012, 09:55:32 PM
Also bei uns läuft jetzt 1 kern auf 100% durchgehend... uns stört das aber recht wenig :D

schon einmal versucht per Nice, dem Prozess einfach eine niedrige Priorität zu geben?
Den ob der Bot mal kurz einen Hänger hat weil andere Prozesse vorrangig behandelt werden ist doch recht egal solange er nicht abstürzt, ich lasse gerade 10 Bots bei mir zuhause auf einem Testsystem laufen (alter Athlon 64 3200+, gut hab nur 10 Testuser im TS mit dennen ich ab und an Bot Aktionen auslöse, aber bis jetzt läuft es recht Stabil per Nice.

Also ATM laufen auf einem Kern Debian, Gnome, TS Server, TS Client mit 10 Tabs, Apache, MySQL und der Bot.

Klar 10 User erzeugen keine wirklichen Datenbankeinträge oder großartig gleichzeitige Aktionen von Seiten des Bots aber bis jetzt sieht es recht gut aus per Nice, das einzige die 100% sind wirklich nicht gerade CPU schonend.
Title: Re: CPU Aulastung 100%
Post by: TSCoach on June 13, 2014, 10:17:56 AM
Hallo,

Ich beschäftige mich seit ein paar Tagen mit dem gleichen Symptomen.

Ich habe ein System auf dem der Bot immer wieder auf Volllast läuft, obwohl ich nur eine Bot Instatnz nutze und noch keine Funktionen.

Was mir auch auffällt ist, dass die Bot Instanz sich nicht mehr verbindet, wenn diese Auslatung auftritt.

Gibt es eine Empfohlene JAVA Version?

Gibt es eine Log Möglichkeit um das näher zu untersuchen? Ich schreibe von einem externen Interface in die DB und lade dann die geänderten Daten per telnet Befehl in den Bot. Es könnte gut auch an einer Fehlkonfiguration liegen, aber sicher bin ich mir da nicht.

Auf einem anderen System verursacht der Bot ständig Connection Errors bei MySQL und sperrt sich so aus der DB, obwohl ich das gleiche mysql setup habe.

Auf einem dritten System laufen mehrere Bot Instanzen problemlos und ohne CPU Auslastung...

Vielleicht gibt es da schon Erfahrungen...
Title: Re: CPU Aulastung 100%
Post by: TSCoach on June 13, 2014, 10:48:19 AM
Ich habe ein bisschen weiter getestet und ich denke ich bin der CPU Geschichte auf die Spur gekommen....

Wenn eine Instanz falsch konfiguriert, oder aus anderen Gründen nicht auf den TS Server joinen kann (zB flood ban), Wird der JAVA Prozess ausgelastet.

Vielleicht kann man ja da ein Timeout implementieren, oder eine Zählschleife für versuchen, wenn das der Grund ist.

Könnte auch ein Zufall sein, aber bei mir haben mehrere Versuche das gleiche Ergebnis gebracht.

PS: Verwende jetzt die Version von Vorgestern 5.2

mfg Thomas
Title: Re: CPU Aulastung 100%
Post by: Stefan1200 on June 13, 2014, 11:49:03 AM
@ TSCoach: Eigentlich gibt es Timeouts, ich konnte mir das bisher nie erklären, da ich das Problem selbst nie hatte. Selbst bei erneuten Versuchen liegen immer 65 Sekunden pause dazwischen, das es dadurch keine ausgelastete CPU gibt.

Hast du Einstellungen, mit denen man diesen Fehler reproduzieren kann? Sobald ich den Fehler sauber reproduzieren kann, kann ich den Fehler auch beheben.
Title: Re: CPU Aulastung 100%
Post by: TSCoach on June 13, 2014, 03:38:51 PM
Hallo Stefan,

Danke für die schnelle Rückmeldung. Leider bin ich mir nicht sicher, wie ich den Fehler ganz genau reproduzieren kann, aber mittlerweile glaube ich, es könnte mit einem ban zu tun haben.

Ich hab jetzt einige mal mit der IP in der Whitelist getestet und einige mal ohne und die Auslastung kommt bei mir nur zu Stande, wenn die IP nicht in der Query Whitelist ist.

Wenn du es so nicht reprodizieren kannst ist es auch nicht so wichtig. Für mich ist wichtig, dass es mit der IP in der Liste klappt und vielleicht hilft es ja auch anderen weiter.

mfg Thomas
Title: Re: CPU Aulastung 100%
Post by: Stefan1200 on June 13, 2014, 05:36:33 PM
Quote from: TSCoach on June 13, 2014, 03:38:51 PM
Danke für die schnelle Rückmeldung. Leider bin ich mir nicht sicher, wie ich den Fehler ganz genau reproduzieren kann, aber mittlerweile glaube ich, es könnte mit einem ban zu tun haben.

Ich hab jetzt einige mal mit der IP in der Whitelist getestet und einige mal ohne und die Auslastung kommt bei mir nur zu Stande, wenn die IP nicht in der Query Whitelist ist.

Das klingt auf jeden Fall interessant, das werde ich nochmal testen. Versprechen kann ich aber nichts.
Title: Re: CPU Aulastung 100%
Post by: Stefan1200 on June 17, 2014, 09:37:43 PM
Quote from: TSCoach on June 13, 2014, 03:38:51 PM
Ich hab jetzt einige mal mit der IP in der Whitelist getestet und einige mal ohne und die Auslastung kommt bei mir nur zu Stande, wenn die IP nicht in der Query Whitelist ist.

Dein Hinweis war Gold Wert! Ich danke dir!
Ich konnte es reproduzieren. Fehler gefunden und in der neuen Version behoben. Damit empfehle ich allen ein Update!
Title: Re: CPU Aulastung 100%
Post by: TSCoach on June 18, 2014, 06:09:00 AM
Danke Stefan,

Du bist echt der Beste! Danke, dass du so geniale Software machst und vor allem, dass du sie so schnell wartest.

Bei mir ist der Bug zwar nicht so schlimm, wenn ich bescheid weis, aber ich werde bestimmt vor der Beta noch auf 5.2.1 umsteigen, vor allem, weil sich ja in der DB nichts ändert.

Ich schickte dann die Tage noch die schuldigen Bilder, bzw. mache ich vielleicht ein Video...

mfg Thomas