Page 3 of 4

Re: Wie sinnvoll ist Swap?

Posted: Thu 28. Apr 2022, 15:35
by trollolol
So ihr lieben,

kurze Rückmeldung von meiner Seite. Dank SWAP verabschiedet sich nun CLAMAV nicht mehr.
24unix wrote: Thu 21. Apr 2022, 18:04 Was zieh denn da so viel Speicher?

In den Account wechseln und mit htop gucken.
Dank Deiner Frage bin ich der ganzen Sache mal auf den Grund gegangen und habe den Übeltäter gefunden. Ich setze auf unserer Webseite das TS-N Rangsystem ein. Der Bot der im Hintergrund läuft wird per PHP Script angesprochen. Seit der Umstellung auf Debian 11 verbraucht dieser zu seinen besten Zeiten ca. 1,6 bis 1,8 GB RAM. Unter Debian 10 waren es nur 200 MB!! Ich weiß nicht was da schiefläuft, aber irgendwas läuft schief. Der Entwickler ist kontaktiert.

Hat sich was gravierendes zwischen PHP 8.0.1 und 7.3.23 verändert? Oder ist PHP Speicherhungriger geworden?

Re: Wie sinnvoll ist Swap?

Posted: Thu 28. Apr 2022, 15:52
by 24unix
trollolol wrote: Thu 28. Apr 2022, 15:35 Hat sich was gravierendes zwischen PHP 8.0.1 und 7.3.23 verändert? Oder ist PHP Speicherhungriger geworden?
Nein, eher effizienter.

Aber: Der Bot läuft sicher via Shell, da wird, wenn Du nichts änderst, der Default PHP-CLI-Interpreter verwendet, bei Bullseye 7.4(.28).

Re: Wie sinnvoll ist Swap?

Posted: Thu 28. Apr 2022, 15:57
by Jolinar
trollolol wrote: Thu 28. Apr 2022, 15:35 Seit der Umstellung auf Debian 11 verbraucht dieser zu seinen besten Zeiten ca. 1,6 bis 1,8 GB RAM. Unter Debian 10 waren es nur 200 MB!! Ich weiß nicht was da schiefläuft, aber irgendwas läuft schief.
Klingt verdächtig nach unsauberer Programmierung. Gibt es zu dem Botscript Logfileeinträge?
Eventuell wäre es hilfreich, zur Ursachenermittlung das Loglevel zu erhöhen, um das Problem einzugrenzen.

Re: Wie sinnvoll ist Swap?

Posted: Fri 29. Apr 2022, 11:20
by trollolol
24unix wrote: Thu 28. Apr 2022, 15:52
trollolol wrote: Thu 28. Apr 2022, 15:35 Hat sich was gravierendes zwischen PHP 8.0.1 und 7.3.23 verändert? Oder ist PHP Speicherhungriger geworden?
Nein, eher effizienter.

Aber: Der Bot läuft sicher via Shell, da wird, wenn Du nichts änderst, der Default PHP-CLI-Interpreter verwendet, bei Bullseye 7.4(.28).
Der Bot wird zwar über das Webinterface gestartet, aber scheint so zu sein.
Jolinar wrote: Thu 28. Apr 2022, 15:57
trollolol wrote: Thu 28. Apr 2022, 15:35 Seit der Umstellung auf Debian 11 verbraucht dieser zu seinen besten Zeiten ca. 1,6 bis 1,8 GB RAM. Unter Debian 10 waren es nur 200 MB!! Ich weiß nicht was da schiefläuft, aber irgendwas läuft schief.
Klingt verdächtig nach unsauberer Programmierung. Gibt es zu dem Botscript Logfileeinträge?
Eventuell wäre es hilfreich, zur Ursachenermittlung das Loglevel zu erhöhen, um das Problem einzugrenzen.
Das habe ich bereits versucht, leider wird wirklich alles im Sekundentakt geloggt. Das spammt mir die Logfile immens zu. Dazu kommt aktuell noch ein SQL Fehler mit "where clause". Den Entwickler hab ich bereits angeschrieben, antwort steht noch aus.

Re: Wie sinnvoll ist Swap?

Posted: Fri 29. Apr 2022, 11:23
by 24unix
Ist der Quellcode verfügbar?

Dann kann man
a) woanders hin loggen, und
b) gucken, wo es bei dem SQl klemmt.

Re: Wie sinnvoll ist Swap?

Posted: Fri 29. Apr 2022, 12:05
by trollolol
24unix wrote: Fri 29. Apr 2022, 11:23 Ist der Quellcode verfügbar?

Dann kann man
a) woanders hin loggen, und
b) gucken, wo es bei dem SQl klemmt.
Ja, der Quellcode ist auf Github verfügbar, aber da bin ich komplett raus, denn davon habe ich überhaupt keine Ahnung.

https://github.com/Newcomer1989/TSN-Ranksystem - der Quellcode
https://github.com/Newcomer1989/TSN-Ran ... issues/871 - mein aktuelles Problem

Re: Wie sinnvoll ist Swap?

Posted: Fri 29. Apr 2022, 12:22
by Tobi
Hast du denn „exec“ aus der Liste der gesperrten PHP Funktionen des Users entfernt?

Re: Wie sinnvoll ist Swap?

Posted: Fri 29. Apr 2022, 12:26
by trollolol
Tobi wrote: Fri 29. Apr 2022, 12:22 Hast du denn „exec“ aus der Liste der gesperrten PHP Funktionen des Users entfernt?
Das hab ich gemacht. Lief vorher auch mit Debian 10. Erst seit dem Upgrade auf 11 tauchten nach und nach die Probleme auf.
Habe gerade Sicherheitshalber noch einmal nachgeschaut: exec ist entfernt.

Ich mag aber auch kein Downgrade machen, da der Support für 10 in wenigen Tagen eingestellt wird.

Re: Wie sinnvoll ist Swap?

Posted: Fri 29. Apr 2022, 12:27
by 24unix
trollolol wrote: Fri 29. Apr 2022, 12:05
24unix wrote: Fri 29. Apr 2022, 11:23 Ist der Quellcode verfügbar?

Dann kann man
a) woanders hin loggen, und
b) gucken, wo es bei dem SQl klemmt.
Ja, der Quellcode ist auf Github verfügbar, aber da bin ich komplett raus, denn davon habe ich überhaupt keine Ahnung.

https://github.com/Newcomer1989/TSN-Ranksystem - der Quellcode
https://github.com/Newcomer1989/TSN-Ran ... issues/871 - mein aktuelle Problem
Hmm, im Installer wird eine Tabelle angelegt:

Code: Select all

if($mysqlcon->exec("CREATE TABLE `$dbname`.`user` (`uuid` char(28) CHARACTER SET utf8 COLLATE utf8_unicode_ci PRIMARY KEY,`cldbid` int(10) NOT NULL default '0',`count` DECIMAL(14,3) NOT NULL default '0',`name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,`lastseen` int(10) UNSIGNED NOT NULL default '0',`grpid` int(10) NOT NULL default '0',`nextup` int(10) NOT NULL default '0',`idle` DECIMAL(14,3) NOT NULL default '0',`cldgroup` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci,`online` tinyint(1) NOT NULL default '0',`boosttime` int(10) UNSIGNED NOT NULL default '0',`rank` smallint(5) UNSIGNED NOT NULL default '65535',`platform` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,`nation` char(2) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,`version` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,`firstcon` int(10) UNSIGNED NOT NULL default '0',`except` tinyint(1) NOT NULL default '0',`grpsince` int(10) UNSIGNED NOT NULL default '0',`cid` int(10) NOT NULL default '0')") === false) {
			$err_msg .= $lang['isntwidbmsg'].$mysqlcon->errorCode()." ".print_r($mysqlcon->errorInfo(), true).'<br>'; $err_lvl = 2;
			$count++;
$dbname steht in Deiner config, dann mit mysql eine Console öffenen.

Code: Select all

use 'hierdbnameeintragen
SHOW CREATE TABLE user'
Anscheined feht Dir das uuid Feld, also ein Fehler beim einem Upgrade oder der Installation?

Tobi wrote: Fri 29. Apr 2022, 12:22 Hast du denn „exec“ aus der Liste der gesperrten PHP Funktionen des Users entfernt?
Ist für das CLI unerheblich.

Re: Wie sinnvoll ist Swap?

Posted: Fri 29. Apr 2022, 12:30
by 24unix
24unix wrote: Fri 29. Apr 2022, 12:27
trollolol wrote: Fri 29. Apr 2022, 12:05
24unix wrote: Fri 29. Apr 2022, 11:23 Ist der Quellcode verfügbar?

Dann kann man
a) woanders hin loggen, und
b) gucken, wo es bei dem SQl klemmt.
Ja, der Quellcode ist auf Github verfügbar, aber da bin ich komplett raus, denn davon habe ich überhaupt keine Ahnung.

https://github.com/Newcomer1989/TSN-Ranksystem - der Quellcode
https://github.com/Newcomer1989/TSN-Ran ... issues/871 - mein aktuelle Problem
Hmm, im Installer wird eine Tabelle angelegt:

Code: Select all

if($mysqlcon->exec("CREATE TABLE `$dbname`.`user` (`uuid` char(28) CHARACTER SET utf8 COLLATE utf8_unicode_ci PRIMARY KEY,`cldbid` int(10) NOT NULL default '0',`count` DECIMAL(14,3) NOT NULL default '0',`name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,`lastseen` int(10) UNSIGNED NOT NULL default '0',`grpid` int(10) NOT NULL default '0',`nextup` int(10) NOT NULL default '0',`idle` DECIMAL(14,3) NOT NULL default '0',`cldgroup` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci,`online` tinyint(1) NOT NULL default '0',`boosttime` int(10) UNSIGNED NOT NULL default '0',`rank` smallint(5) UNSIGNED NOT NULL default '65535',`platform` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,`nation` char(2) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,`version` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,`firstcon` int(10) UNSIGNED NOT NULL default '0',`except` tinyint(1) NOT NULL default '0',`grpsince` int(10) UNSIGNED NOT NULL default '0',`cid` int(10) NOT NULL default '0')") === false) {
			$err_msg .= $lang['isntwidbmsg'].$mysqlcon->errorCode()." ".print_r($mysqlcon->errorInfo(), true).'<br>'; $err_lvl = 2;
			$count++;
$dbname steht in Deiner config, dann mit mysql eine Console öffenen.

Code: Select all

use 'hierdbnameeintragen
SHOW CREATE TABLE user'
Anscheined feht Dir das uuid Feld, also ein Fehler beim einem Upgrade oder der Installation?

Tobi wrote: Fri 29. Apr 2022, 12:22 Hast du denn „exec“ aus der Liste der gesperrten PHP Funktionen des Users entfernt?
Ist für das CLI unerheblich.
trollolol wrote: Fri 29. Apr 2022, 12:26 Ich mag aber auch kein Downgrade machen, da der Support für 10 in wenigen Tagen eingestellt wird.
Downgrdes werden von Debian nicht offiziell untertützt.
Es geht, aber sauber ist anders.

Re: Wie sinnvoll ist Swap?

Posted: Fri 29. Apr 2022, 12:36
by trollolol
24unix wrote: Fri 29. Apr 2022, 12:27
trollolol wrote: Fri 29. Apr 2022, 12:05
24unix wrote: Fri 29. Apr 2022, 11:23 Ist der Quellcode verfügbar?

Dann kann man
a) woanders hin loggen, und
b) gucken, wo es bei dem SQl klemmt.
Ja, der Quellcode ist auf Github verfügbar, aber da bin ich komplett raus, denn davon habe ich überhaupt keine Ahnung.

https://github.com/Newcomer1989/TSN-Ranksystem - der Quellcode
https://github.com/Newcomer1989/TSN-Ran ... issues/871 - mein aktuelle Problem
Hmm, im Installer wird eine Tabelle angelegt:

Code: Select all

if($mysqlcon->exec("CREATE TABLE `$dbname`.`user` (`uuid` char(28) CHARACTER SET utf8 COLLATE utf8_unicode_ci PRIMARY KEY,`cldbid` int(10) NOT NULL default '0',`count` DECIMAL(14,3) NOT NULL default '0',`name` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci NOT NULL,`lastseen` int(10) UNSIGNED NOT NULL default '0',`grpid` int(10) NOT NULL default '0',`nextup` int(10) NOT NULL default '0',`idle` DECIMAL(14,3) NOT NULL default '0',`cldgroup` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci,`online` tinyint(1) NOT NULL default '0',`boosttime` int(10) UNSIGNED NOT NULL default '0',`rank` smallint(5) UNSIGNED NOT NULL default '65535',`platform` varchar(32) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,`nation` char(2) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,`version` varchar(64) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL,`firstcon` int(10) UNSIGNED NOT NULL default '0',`except` tinyint(1) NOT NULL default '0',`grpsince` int(10) UNSIGNED NOT NULL default '0',`cid` int(10) NOT NULL default '0')") === false) {
			$err_msg .= $lang['isntwidbmsg'].$mysqlcon->errorCode()." ".print_r($mysqlcon->errorInfo(), true).'<br>'; $err_lvl = 2;
			$count++;
$dbname steht in Deiner config, dann mit mysql eine Console öffenen.

Code: Select all

use 'hierdbnameeintragen
SHOW CREATE TABLE user'
Anscheined feht Dir das uuid Feld, also ein Fehler beim einem Upgrade oder der Installation?

Tobi wrote: Fri 29. Apr 2022, 12:22 Hast du denn „exec“ aus der Liste der gesperrten PHP Funktionen des Users entfernt?
Ist für das CLI unerheblich.
Das seltsame ist, das es wirklich nur User betrifft die aus der Ausnahmegruppe entfernt werden. Alle anderen User oder neue User betrifft das Problem nicht. Ich habe aber gerade keinen Zugang zur DB sonst würde ich das gleich mal checken (bin auf arbeit)

Was das Downgrade angeht - ich habe vor dem Upgrade ein Snapshot angelegt. Das sollte das geringste Problem sein :) . Nur vorher die aktuellen Datenbanken sichern sollte ich nicht vergessen

Re: Wie sinnvoll ist Swap?

Posted: Fri 29. Apr 2022, 14:08
by 24unix
trollolol wrote: Fri 29. Apr 2022, 12:36
Das seltsame ist, das es wirklich nur User betrifft die aus der Ausnahmegruppe entfernt werden. Alle anderen User oder neue User betrifft das Problem nicht. Ich habe aber gerade keinen Zugang zur DB sonst würde ich das gleich mal checken (bin auf arbeit)
Ist das Tool standalon läuffähig, oder setzt das eine vorhanden TS infrastruktor voraus?
trollolol wrote: Fri 29. Apr 2022, 12:36
Was das Downgrade angeht - ich habe vor dem Upgrade ein Snapshot angelegt. Das sollte das geringste Problem sein :) . Nur vorher die aktuellen Datenbanken sichern sollte ich nicht vergessen
OK, dann nur dran denken, dass sich bei MariDB was zwischen den Verionen geändert hat.

Re: Wie sinnvoll ist Swap?

Posted: Fri 29. Apr 2022, 14:20
by Alexander
Ich les hier nur sporadisch mit, also wenn ich was übersehen habe, tut es mir leid:

Hast du das Script denn schonmal über die vorherige PHP Version 7.3 angesprochen?

Wenn KeyHelp's zusätzliche PHP-Interpreter installiert sind, dann kann man über die CLI statt

Code: Select all

php <PFAD-ZUM-SCRIPT>
auch

Code: Select all

keyhelp-php<PHP-VERSION> <PFAD-ZUM-SCRIPT>

keyhelp-php73 <PFAD-ZUM-SCRIPT>
zum Aufruf nutzen. Ists danach immer noch so speicherhungrig?

Re: Wie sinnvoll ist Swap?

Posted: Fri 29. Apr 2022, 14:44
by trollolol
24unix wrote: Fri 29. Apr 2022, 14:08 Ist das Tool standalon läuffähig, oder setzt das eine vorhanden TS infrastruktor voraus?
Es setzt eine TS Infrastruktur voraus, da keine Verbindung zum TS - Server hergestellt werden kann und das Script direkt mit einer Fehlermeldung quittiert.
trollolol wrote: Fri 29. Apr 2022, 12:36
Was das Downgrade angeht - ich habe vor dem Upgrade ein Snapshot angelegt. Das sollte das geringste Problem sein :) . Nur vorher die aktuellen Datenbanken sichern sollte ich nicht vergessen

OK, dann nur dran denken, dass sich bei MariDB was zwischen den Verionen geändert hat.
Ach, das ist aber auch Mist :cry:
Alexander wrote: Fri 29. Apr 2022, 14:20 Ich les hier nur sporadisch mit, also wenn ich was übersehen habe, tut es mir leid:

Hast du das Script denn schonmal über die vorherige PHP Version 7.3 angesprochen?

Wenn KeyHelp's zusätzliche PHP-Interpreter installiert sind, dann kann man über die CLI statt

Code: Select all

php <PFAD-ZUM-SCRIPT>
auch

Code: Select all

keyhelp-php<PHP-VERSION> <PFAD-ZUM-SCRIPT>

keyhelp-php73 <PFAD-ZUM-SCRIPT>
zum Aufruf nutzen. Ists danach immer noch so speicherhungrig?
Natürlich! Ich kann ja erstmal versuchen über die ältere PHP Version zu starten. Ich probiere es mal aus und melde mich wieder :) - Allerdings wird es vermutlich erst Anfang nächster Woche.

Re: Wie sinnvoll ist Swap?

Posted: Fri 29. Apr 2022, 17:31
by trollolol
Ich werd verrückt: Ich habe vorhin nachdem ich Alex Beitrag gelesen habe meinen Benutzer auf PHP 7.3.33 umgestellt. Der RAM Verbrauch meines Users liegt aktuell bei 139 MB!! Das wäre bei der 8er Version schon bei knapp 600 MB.

Wenn jetzt das Problem mit dem SQL Fehler verschwindet, scheints wohl ab PHP Version 7.4 aufwärts Probleme zu geben :lol: :lol:

Ich werde Euch spätestens am Montag berichten ob alles so geblieben ist ;)