Vserver Debian minimal für Gameserver/Voiceserver

matrix1420

New Member
Hallo liebe Community


Ich besitze einen Vserver auf den ein ts3 server leüft und ein Gameserver ( CounterStrike Global Offensive server)
es leüft alles problemlos die CPU/RAM auslastung ist laut "htop" niedrig und die netzwerkauslastung ist laut ifstat auch nicht nennenswert.

Jedoch treten nach einiger zeit probleme auf der Gameserver lagt ingame stark ( freezez ) , die CPU/RAM/Netzwerkauslastung auslastungs anzeigen zeigen unfändert niedrige werte.


Was ich bereits versucht habe :


#Natürlich habe ich den Hoster angeschrieben der könnte keine probleme finden.
#Vserver neu gestartet ( neu Instaliert )
#apt-get update / upgrade
#Gameserver/voiceserver neuinstaliert
#Die hardware solte ausreichen da ich schon länger einen vserver dafür benuzt habe und nie probleme hatte.
__________________________________________________________________________________________


#Kann mir jemand aus erfahrung berichten wie ich vorgehen könnte um dieses problem eventuel zu beseitigen?

#Gibt es ein tool mit denn ich genauer mein problem analysieren kann und die ursache somit finden kann ?

#Wie sieht es aus mit kernel optimierung 1000hz etc , ist es überhaupt möglich unter einen vserver oder gilt das nur für root ?

#Existieren irgendwelche empfehlenswerte erweiterungen die mehr Performance/Stabilität geben könnten ?


Ich würde mich sehr freuen wenn mir jemand hilfreiche tipps geben könnte ;-)



PS : replays in richtung "wechsel den anbieter" sind definitiv nicht hilfreich !




Mit freundlichen Grüßen
Matrix1420
 
Welches Produkt bei welchem Hoster ists denn genau auf dem das alles läuft?
Wie ist die Kiste virtualisiert? Openvz ?
Wenn ja was sagt ein
Code:
cat /proc/user_beancounters

Soweit erstmal.

Gruß Sven
 
Zum Thema Kerneloptimierung und Root. Du wirbelst gerade 2 Sachen durcheinander.

Auf Deinem vServer bist Du Root, Du kannst also (prinzipiell, Einschränkungen folgen unten!) alles machen, was Du auf einem dedizierten Server auch könntest.

Jetzt die Einschränkung:
Abhängig von der Virtualisierung hast Du lediglich einen Container und nur der Host hat einen Kernel. Dann kannst Du an diesem natürlich nichts verändern. In Folge stehen manchmal auch ein paar andere Sachen wie iptables nicht zur Verfügung.

Es gibt auch Vollvirtualisierungen wie KVM, dabei hast Du einen eigenen Kernel, etc... An diesem kannst Du dann auch verändern was Du möchtest.
 
Womit man wieder bei dem Thema ankommt, das ein Vserver nicht wirklich geeignet ist, für das hosten für Gameserver. Aber warten wir mal ab was die Ressourcen sind und von welchem Anbieter.
 
Mal leserlich:

Code:
root@# cat /proc/user_beancounters
Version: 2.5
       uid  resource                     held              maxheld                              barrier                limit              failcnt
 10018223:  kmemsize                  9808728             12341997             4                9029120             54476800                    0
            lockedpages                     0                  466                                  860                  860                   17
            privvmpages                 55315               130780                               524288               550502                    0
            shmpages                     4755                 6691                                32768                32768                    0
            dummy                           0                    0  922337203685                4775807  9223372036854775807                    0
            numproc                        46                   83                                  256                  256                    0
            physpages                    7213                69025                                    0  9223372036854775807                    0
            vmguarpages                     0                    0                               262144  9223372036854775807                    0
            oomguarpages                 7213                69025                               262144  9223372036854775807                    0
            numtcpsock                      6                   49                                 1200                 1200                    0
            numflock                        3                    9                                  224                  246                    0
            numpty                          1                    3                                   32                   32                    0
            numsiginfo                      0                   14                                  512                  512                    0
            tcpsndbuf                  105024               643584                              4942675              7056211                    0
            tcprcvbuf                   98304              4958616                              4942675              7056211                 6899
            othersockbuf               144336               265784                               744366              1481926                    0
            dgramrcvbuf                     0               612640                               844366               844366                    0
            numothersock                   94                  120                                 1200                 1200                    0
            dcachesize                 587155              1052100                              7299072              8110080                    0
            numfile                      1269                 2253                                 6000                 6000                    0
            dummy                           0                    0                                    0                    0                    0
            dummy                           0                    0                                    0                    0                    0
            dummy                           0                    0                                    0                    0                    0
            numiptent                      10                   10                                   96                   96                    0

Ich bin kein OpenVZ-Experte, der failcount bei tcprcvbuf lässt aber wohl darauf schließen, dass die zur Verfügung gestellten Ressourcen nicht ausreichen. Wenn ich das richtig verstehe, geht es hier um die max. zulässige Anzahl von TCP-Sockets. Prinzipiell stellt sich hier auch die Frage, zu welchem Zeitpunkt das Log erstellt wurde. Am aussagekräftigsten ist das Ganze, wenn es die von dir beschriebenen Probleme gibt. Dann sieht man, ob und ggf. wo die gesetzten Limits überschritten werden.

Zu deiner Frage bzgl. eigenem Kernel. Das ist bei S4Y aufgrund der eingesetzten Virtualisierungstechnologie nicht möglich.

P.S.: prinzipiell rate ich grundsätzlich von S4Y als Hoster ab, weil die einfach nicht das halten können, was sie ihren Kunden versprechen.
 
Sorry bekomme es irgendwie nicht leserlich hin ;/

Dafür gibt es die Code-tags, das ist dieses kleine # Zeichen. Wenn Du einen Beitrag erstellst kommt das oben zur Auswahl.

Code:
    root@# cat /proc/user_beancounters
    Version: 2.5
           uid  resource                     held              maxheld              barrier                limit              failcnt
     10018223:  kmemsize                 10990991             12348344             49029120             54476800                    0
                lockedpages                     0                  466                  860                  860                   17
                privvmpages                122088               130780               524288               550502                    0
                shmpages                     4755                 6691                32768                32768                    0
                dummy                           0                    0  9223372036854775807  9223372036854775807                    0
                numproc                        55                   83                  256                  256                    0
                physpages                   44510                69025                    0  9223372036854775807                    0
                vmguarpages                     0                    0               262144  9223372036854775807                    0
                oomguarpages                44510                69025               262144  9223372036854775807                    0
                numtcpsock                      7                   49                 1200                 1200                    0
                numflock                        4                    9                  224                  246                    0
                numpty                          2                    3                   32                   32                    0
                numsiginfo                      0                   14                  512                  512                    0
                tcpsndbuf                  128304               643584              4942675              7056211                    0
                tcprcvbuf                  132192              4958616              4942675              7056211                 6899
                othersockbuf               153648               265784               744366              1481926                    0
                dgramrcvbuf                     0               612640               844366               844366                    0
                numothersock                  102                  120                 1200                 1200                    0
                dcachesize                 697158              1052100              7299072              8110080                    0
                numfile                      1506                 2253                 6000                 6000                    0
                dummy                           0                    0                    0                    0                    0
                dummy                           0                    0                    0                    0                    0
                dummy                           0                    0                    0                    0                    0
                numiptent                      10                   10                   96                   96
Code:
    root@# cat /proc/user_beancounters
    Version: 2.5
           uid  resource                     held              maxheld              barrier                limit              failcnt
     10018223:  kmemsize                 10998553             12348344             49029120             54476800                    0
                lockedpages                     0                  466                  860                  860                   17
                privvmpages                122088               130780               524288               550502                    0
                shmpages                     4755                 6691                32768                32768                    0
                dummy                           0                    0  9223372036854775807  9223372036854775807                    0
                numproc                        55                   83                  256                  256                    0
                physpages                   44510                69025                    0  9223372036854775807                    0
                vmguarpages                     0                    0               262144  9223372036854775807                    0
                oomguarpages                44510                69025               262144  9223372036854775807                    0
                numtcpsock                      8                   49                 1200                 1200                    0
                numflock                        4                    9                  224                  246                    0
                numpty                          2                    3                   32                   32                    0
                numsiginfo                      0                   14                  512                  512                    0
                tcpsndbuf                  145808               643584              4942675              7056211                    0
                tcprcvbuf                  148576              4958616              4942675              7056211                 6899
                othersockbuf               153648               265784               744366              1481926                    0
                dgramrcvbuf                     0               612640               844366               844366                    0
                numothersock                  102                  120                 1200                 1200                    0
                dcachesize                 697158              1052100              7299072              8110080                    0
                numfile                      1534                 2253                 6000                 6000                    0
                dummy                           0                    0                    0                    0                    0
                dummy                           0                    0                    0                    0                    0
                dummy                           0                    0                    0                    0                    0
                numiptent                      10                   10                   96                   96                    0
 
Wenn ich das richtig interpretiere, sollte der tcprcvbuf Wert von 4942675 doch eigentlich ausreichend dimensioniert sein. Da numtcpsock maxheld auf nur 49 steht, finden auf den Server auch gar nicht viele gleichzeitige Zugriffe statt.

Der lockedpages Wert scheint mir eigenartig hoch. Maxheld steht hier auf 466 und aktuell bei 0. Das würde bedeuten, dass zum Zeitpunkt des Problems hier irgend ein Prozess eigenartig viele Speicherseiten mit mlock() anfordert.

Ich würde vorschlagen, du findest mal diesen Übeltäter, der hier versucht so viele lockedpages anzufordern.

Aktuell läuft offenbar gar kein Prozess, der Speicher mit mlock() anfordert.

Prüfen solltest Du das folgendermaßen können:
Code:
perl -e 'while (1) { foreach (`grep VmLck /proc/*/status | grep -v "0 kB"`) { /\/(\d+)\//; system("ps hp $1"); print; } sleep(1);}'

Sofern ein Prozess läuft, der mit mlock() Speicherseiten angefordert hat, wird dir dies nun im Sekundentakt ausgegeben. Lass das mal laufen, und wenn sich an der Ausgabe was tut hast Du schon mal einen Verdächtigen.

Nachtrag - wie funktioniert der Einzeiler:
Auflisten des Locked Memory der Prozesse: grep VmLck /proc/*/status
Diejenigen, die keinen Locked Memory belegen wegfiltern: grep -v "0 kB"
mit einer RegEx die PID rausfiltern und diese an ein ps übergeben um den zugehörigen Prozessnamen zu finden.
Das ganze im Sekundentakt wiederholen.

Nachtrag 2: Um zu testen ob es funktioniert, kann man sich schnell ein kleines C-Programm basteln, dass 32MB mit mlock belegt:
Code:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/mman.h>
#include <unistd.h>

void main()
{
 const int alloc_size = 32 * 1024 * 1024;
 char* memory = malloc (alloc_size);
 mlock (memory, alloc_size);
 printf("angefordert\n");
 sleep(5);
 printf("beende\n");
}

Ausgabe des o.a. Perl-Einzeilers entlarvt diesen "Übeltäter" sofort:
Code:
root@kvm:~# perl -e 'while (1) { foreach (`grep VmLck /proc/*/status | grep -v "0 kB"`) { /\/(\d+)\//; system("ps hp $1"); print; } sleep(1);}'
18992 pts/1    SL+    0:00 ./test
/proc/18992/status:VmLck:          32772 kB
18992 pts/1    SL+    0:00 ./test
/proc/18992/status:VmLck:          32772 kB
18992 pts/1    SL+    0:00 ./test
/proc/18992/status:VmLck:          32772 kB
18992 pts/1    SL+    0:00 ./test
/proc/18992/status:VmLck:          32772 kB
18992 pts/1    SL+    0:00 ./test
/proc/18992/status:VmLck:          32772 kB
 
Last edited by a moderator:
Back
Top