Das große Adventskalender Gewinnspiel 2018 für Gamer & Technikfreunde
Linux Tutorials

Debian Kernel für Gameserver optimieren

Als ich noch Gameserver-Sponsor war, wurde mir sehr oft die Frage gestellt, was am Kernel optimiert werden muss damit z. B. ein 128-Tick Counter-Strike: Global Offensive Server problemlos läuft. Diese Frage konnte ich aber jeweils immer nur zum Teil beantworten oder für „Laien“ zu unverständlich.

Deshalb schreibe ich dieses Tutorial, welches die grundlegende Optimierung des Kernels beinhaltet. Jegliches Feintuning müsst ihr selbst für euer System, auf dem der Gameserver laufen soll, selbst erproben.

Dieses Tutorial ist auf 2 Betriebssysteme ausgelegt, nämlich Debian 8 (Jessie) und Debian 9 (Stretch).

1. Die Vorbereitungen

Bevor wir überhaupt damit anfangen können den Kernel zu modifizieren, updaten wir unsere Paketlisten und das System mit:

$ apt-get update && apt-get upgrade

Nachdem wir dies getan haben, installieren wir die zum kompilieren benötigten Pakete:

Für Debian 8:

$ apt-get install kernel-package libncurses-dev bzip2 make build-essential

Für Debian 9:

$ apt-get install bc fakeroot libncurses-dev bzip2 make build-essential libelf-dev

Je nach Rechenleistung eures Servers, kann dies eine Weile dauern. Denn die Pakete, die wir installieren, haben viele Abhängigkeiten, welche mit installiert werden.

Als nächstes laden wir uns die Sourcefiles des zu diesem Zeitpunkt aktuellen Stable-Kernels von https://www.kernel.org/ herunter und entpacken diesen gleich.

An dieser Stelle möchte ich noch sagen, dass ihr diesen Punkt bitte nicht einfach nur kopiert. Nehmt den aktuellen Stable- oder Mainline-Kernel von der oben genannten Seite.

Aber nun zum eigentlichen Download:

$ wget https://cdn.kernel.org/pub/linux/kernel/v4.x/linux-4.9.6.tar.xz

$ tar -xvf linux-4.9.6.tar.xz

Jetzt wechseln wir in das Verzeichnis mit den gerade entpackten Dateien:

$ cd linux-4.9.6
1 2 3Nächste Seite
Tags

Martin Krzeminski

Moin,mein Name ist Martin, bin 23 Jahre alt und komme aus der schönen deutschen Hauptstadt Berlin. Selbst bin Ich gelernter Elektroniker für Betriebstechnik und hobbymäßiger Linux System-Administrator.In meiner Freizeit setze Ich mich viel mit Linux-Systemen auseinander und begegne dementsprechend auch vielen Problemen und versuche jene zu lösen. Ansonsten bin Ich ein einfacher Zocker der alles anspielt was er in die Finger bekommt (okay...fast alles :D). Wenn Ich mal vom PC wegkomme treffe Ich mich mit Freunden oder gehe zum Sport.

Ähnliche Beiträge

19 Kommentare

  1. Guten Tag

    Vielen Dank für die Anleitung.

    Ein kleines Problem habe ich noch:

    Power management and ACPI options –> CPU Frequency scaling –> -*- CPU Frequency scaling

    -*- CPU Frequency scaling kann icht nicht deaktivieren! Zusammenhang mit welchen Konfiguration?

    Vielen Dank

    Dave

    1. Da Ich nicht weiß welche Kernel-Version du genutzt hast, nehme Ich mal an das es der zur Zeit aktuelle 4.11.1 ist.
      Habe mal nachgeschaut und es lässt sich wirklich nicht deaktivieren.
      Stattdessen kannst du im selben Menü den „Default CPUFreq governor“ auf „performance“ stellen.
      Dieser lässt die CPU permanent auf der höchsten erlaubten Frequenz arbeiten.

      Ich hoffe das dir das weiterhelfen konnte!

      Gruß

      Martin

    1. das geht auch so..

      kernel einstellungen vornehmen und hier mit kompilieren:

      make -j8 deb-pkg LOCALVERSION=-custom-100hz KDEB_PKGVERSION=1

      klappt wunderbar. vorher bitte schauen ob alle pakete installiert sind:

      apt-get install bc build-essential devscripts libncurses5 libncurses5-dev libssl-dev

    1. Deine Struktur bleibt unangetastet.
      Dadurch das du das Gesamte Linux-System neu starten musst, ist der Zeitpunkt eigentlich irrelevant. Jedoch solltest du die Gameserver vor dem eigentlichen Reboot herunterfahren.

  2. Versuche die aktuelle Kernel-Version 4.15.14 zu installiere.

    Allerdings bekomme ich folgende Fehlermeldung nicht weg:

    install -p -o root -g root -m 644 REPORTING-BUGS /root/kernel/linux-4.15.14/debian/linux-headers-4.15.14/usr/share/doc/linux-headers-4.15.14/
    install: cannot stat ‚REPORTING-BUGS‘: No such file or directory
    debian/ruleset/targets/headers.mk:40: recipe for target ‚debian/stamp/install/linux-headers-4.15.14‘ failed
    make[1]: *** [debian/stamp/install/linux-headers-4.15.14] Error 1
    make[1]: Leaving directory ‚/root/kernel/linux-4.15.14‘
    debian/ruleset/local.mk:102: recipe for target ‚kernel_headers‘ failed
    make: *** [kernel_headers] Error 2

    Irgendeine Idee?

    1. Die Lösung für dein Problem müsste dieser Befehl sein:
      fakeroot make -j5 deb-pkg LOCALVERSION=-basictut KDEB_PKGVERSION=1

  3. Wieder mal eines dieser Tutorials, welches „Full dynticks“ empfiehlt, obwohl sogar die Kernel-Entwickler explizit davon abraten – Zitat aus der Dokumentation: „Say N“. Zumal diese Einstellung nur via bestimmter Boot-Parameter aktiv wird – siehe Dokumentation.

    Die Timer Frequency auf 1000Hz zu setzen ist für Gameserver auch totaler Käse; wie in der Dokumentation zu lesen, ist diese Einstellung für Desktop-Systeme gedacht, um die Desktop-UIs „smooth“ zu halten – für Server sind 100Hz empfehlenswert; steht ebenfalls in der Doku.

  4. Das mag sein das dies in der Dokumentation steht, jedoch haben sich diese Werte als die „beste Konfiguration“ erwiesen.
    Was die 1000 Hz angeht, versuche mal 2 CS.GO 128- Tick Server unter Vollast mit einem 100 Hz Kernel zu betreiben. Das könnte zu unerwünschten Effekten.

    1. debian/rules:4: recipe for target ‚build‘ failed
      make[2]: *** [build] Error 2
      dpkg-buildpackage: Fehler: Fehler-Exitstatus von debian/rules build war 2
      scripts/package/Makefile:71: recipe for target ‚deb-pkg‘ failed
      make[1]: *** [deb-pkg] Error 2
      Makefile:1408: recipe for target ‚deb-pkg‘ failed
      make: *** [deb-pkg] Error 2

      was kann das sein das es nicht weiter geht
      Mfg

    2. Hallo Dennis!

      Um dir weiter zu helfen bräuchte Ich ein Paar mehr Informationen wie welches OS du nutzt und welche Kernel Version du compilen möchtest 🙂

      Grüße

      Martin Krzeminski

    3. Hallo, habe den gleichen Fehler,
      bekomme die Meldung:

      dpkg-source -i.git –before-build linux-4.19-rc7
      fakeroot -u debian/rules clean
      fakeroot: FAKEROOTKEY set to 0123456789
      fakeroot: nested operation not yet supported
      dpkg-buildpackage: error: fakeroot -u debian/rules clean gave error exit status 1
      scripts/package/Makefile:71: recipe for target ‚deb-pkg‘ failed
      make[1]: *** [deb-pkg] Error 1
      Makefile:1355: recipe for target ‚deb-pkg‘ failed
      make: *** [deb-pkg] Error 2

      Habe bisher leider noch keine Lösung gefunden. Irgendwelche Ideen?

  5. root@Debian-94-stretch-64-minimal ~ # cd linux-4.17.1/
    root@Debian-94-stretch-64-minimal ~/linux-4.17.1 # make localmodconfig
    HOSTCC scripts/basic/fixdep
    HOSTCC scripts/kconfig/conf.o
    YACC scripts/kconfig/zconf.tab.c
    /bin/sh: 1: bison: not found
    scripts/Makefile.lib:196: recipe for target ’scripts/kconfig/zconf.tab.c‘ failed
    make[1]: *** [scripts/kconfig/zconf.tab.c] Error 127
    Makefile:528: recipe for target ‚localmodconfig‘ failed
    make: *** [localmodconfig] Error 2
    root@Debian-94-stretch-64-minimal ~/linux-4.17.1 # make menuconfig
    HOSTCC scripts/kconfig/mconf.o
    YACC scripts/kconfig/zconf.tab.c
    /bin/sh: 1: bison: not found
    scripts/Makefile.lib:196: recipe for target ’scripts/kconfig/zconf.tab.c‘ failed
    make[1]: *** [scripts/kconfig/zconf.tab.c] Error 127
    Makefile:528: recipe for target ‚menuconfig‘ failed
    make: *** [menuconfig] Error 2

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Close