View Single Post
Author Message
servers.csgo.cfg
BANNED
Join Date: Sep 2016
Old 04-28-2017 , 18:34   linux css kernel 1000fps
Reply With Quote #1

txt file of site who doesn't exist anymore




Code:
RT Kernel Bestimmt für CS:S und CS1.6 Server

 

Dieser Kernel bietet eine sehr gute Performance für beide Dedicated Server

Vorteile:

    Load und CPU Last steigen nicht so stark an wie bei dem 1500HZ Kernel
    CS:S erreicht einen guten Wert um die 980FPS

Nachteile:

    pingboost 3 in Verbindung mit einer +sys_ticrate 10000 kann nur genutzt werden wenn der Kernel mit 1000/100 HZ läuft (CS 1.6)

    Code
    su
    apt-get update
    apt-get install libc6-dev gcc binutils modutils kernel-package libncurses5-dev debianutils make bzip2
    cd /..
    cd /usr/src/
    wget http://migges.net/page/wp-content/uploads/2009/05/linux-2.6.18.tar.bz2
    tar xfvj linux-2.6.23.9.tar.bz2
    wget http://migges.net/page/wp-content/uploads/2009/05/patch-26239-rt13.bz2
    mv linux-2.6.23.9 linux-2.6.23.9-rt13
    cd linux-2.6.23.9-rt13
    bzcat /usr/src/patch-2.6.23.9-rt13.bz2 | patch -p1
    cd /..
    cd /usr/src/
    ln -s linux-2.6.23.9-rt13 linux

So nun übernehmen wir die alte Kernelcfg. Durch den Befehl "ls /boot" siehst du die cfg oder cfgs der vorherigen Kernel. Die musst du natürlich
bei "cp /boot/config-2.6.21" auf deine vorherige cfg abändern.

    Code
    ls /boot/
    cp /boot/config-2.6.21 linux/.config
    cd linux

So nun gibt es zwei Möglichkeiten etwa man optimiert den Kernel für CS:S oder für CS 1.6

CS:S
Bevor wir zum Menü übergehen müssen wir ein paar Einstellungen in der param.h manuell machen damit der CS:S Server
auch die FPS stabil im Bereich 980 - 990 hält

    Code
    vi include/asm-i386/param.hCode:
    #ifndef _ASMi386_PARAM_H
    #define _ASMi386_PARAM_H

    #ifdef __KERNEL__
    # define HZ             1000       /* Internal kernel timer frequency */
    # define USER_HZ        1000             /* .. some user interfaces are in "ticks" */
    # define CLOCKS_PER_SEC         (USER_HZ)       /* like times() */
    #endif

    #ifndef HZ
    #define HZ 100
    #endif

    #define EXEC_PAGESIZE   4096

    #ifndef NOGROUP
    #define NOGROUP         (-1)
    #endif

    #define MAXHOSTNAMELEN  64      /* max length of hostname */

    #endif

oder

CS1.6
So kommt es nicht zu einer extremen beschleunigung inGame

    Code
    vi include/asm-i386/param.hCode:
    #ifndef _ASMi386_PARAM_H
    #define _ASMi386_PARAM_H

    #ifdef __KERNEL__
    # define HZ             CONFIG_HZ       /* Internal kernel timer frequency */
    # define USER_HZ        100             /* .. some user interfaces are in "ticks" */
    # define CLOCKS_PER_SEC         (USER_HZ)       /* like times() */
    #endif

    #ifndef HZ
    #define HZ 100
    #endif

    #define EXEC_PAGESIZE   4096

    #ifndef NOGROUP
    #define NOGROUP         (-1)
    #endif

    #define MAXHOSTNAMELEN  64      /* max length of hostname */

    #endif

Nun zum Menü

    Code
    make menuconfig

Mit dem letzen Befehl wird nun ein Menü angezeigt dort solltest du folgende Einstellungen vornehmen

General Setup --->[*] Initial RAM filesystem and RAM disk (initramfs/initrd) support[*] Kernel .config support[*] Enable acess to .config through /proc/config.gz

Processor type and features --->
[ ] Tickless System (Dynamic Ticks)[*] High Resolution Timer Support[*]Symmetric multi-processing support --->(Für 2/4 Kern CPUs oder Dual oder Quad Boards)
Processor family (Core 2/neuer Xeon) (Hier könnt ihr selber entscheiden welchen CPU euer Server hat)
[ ] Generic x86 support
[ ] SMT (Hyperthreading) scheduler support (Falls ihr z.B einen P4 mit HT habt)[*] Multi-core scheduler support
Preemption Mode (Complete Preemption (Real-Time))[*] enable irq balancing
Timer frequency (1000HZ) --->

---Enable the Block Layer --->
I0 Schedulers --->
<*> Anticipatory I/O scheduler
<*> Deadline I/O scheduler

Power management options (ACPI, APM) --->[*]Power Management support
ACPI (Advanced Configuration and Power Interface) Support --->[*]ACPI Support

Kernel hacking --->[*] Wakeup latency timing[*] Latency tracing[*] wakeup latency histogram

Device Drivers --->
<*> Real Time Clock --->
--- Real Time Clock[*] Set system time from RTC on startup and resume (NEW)
(rtc0) RTC used to set the system time (NEW)[*] RTC debug support (NEW)
--- RTC interfaces[*] /sys/class/rtc/rtcN (sysfs)[*] /proc/driver/rtc (procfs for rtc0)[*] /dev/rtcN (character devices)[*] RTC UIE emulation on dev interface
<M> Test driver/device

Device Drivers --->
Character devices --->
<*> Enhanced Real Time Clock Support[*] Real Time Clock Histogram Support[*] HPET - High Precision Event Timer[*] Allow mmap of HPET (NEW)

so nun zum Abschluss

    Code
    make-kpkg clean
    make-kpkg --initrd --revision=Kernel.01 kernel_image
    ls /usr/src/
    cd /..
    cd /usr/src/

Seit einiger Zeit ist der Namen des erstellten .deb Paket nicht mehr "kernel-image-2.6.23.9-rt13_Kernel.01_i386.deb" sondern "linux-image-2.6.23.9-rt13_Kernel.01_i386.deb" Da viele von euch noch alte Versionen haben solltet ihr vorher noch "ls/boot/" eingeben um zu schauen wie euer Paket heisst.

    Code
    dpkg -i linux-image-2.6.23.9-rt13_Kernel.01_i386.deb

Das wars schon nach einem Reboot solltest du nun mit dem Befehl "uname -a" testen ob auch der neue Kernel läuft. Wenn ihr den Kernel wieder entfernen wollt gebt ihr folgendes ein

    Code
    ls /boot/
    su
    dpkg --purge --force-remove-essential linux-image-2.6.23.9-rt13

 Erweiterungen Powered bei Tuxre

Networking --->
Networking options --->[*] TCP: advanced congestion control --->
<*> Binary Increase Congestion (BIC) control
<*> CUBIC TCP
<*> TCP Westwood+
<*> H-TCP
<*> High Speed TCP
<*> TCP-Hybla congestion control algorithm
---TCP Vegas
<*> Scalable TCP
<*> TCP Low Priority
<*> TCP Veno
<*> YeAH TCP
<*> TCP Illinois
Default TCP congestion control (Htcp) ---> (verbesserte TCP Variante)

Networking --->
Networking options --->
QoS and/or fair queueing --->
[ ] QoS and/or fair queueing

Deaktiviert weil dadurch unnötige Warteschlangen auftreten, wer seinen Rootserver allerdings auch als Webserver missbraucht, sollte sich ins Thema QoS and/or fair queueing einlesen, und kann damit dann sicher was gutes anfangen.

Device Drivers --->[*] Network device support --->
[?] Ethernet (10 or 100Mbit) --->
[?] Ethernet (1000 Mbit) --->
[?] Ethernet (10000 Mbit) --->

Deshalb, weil es darum geht, dass IHR hier EURE Netzwerkkarte findet und in ihrer Nähe einen Punkt aktiviert der "Use Rx and Tx Polling (NAPI)" oder "RX Polling" oder ähnlich heisst. Dadurch wird bei Netzwerkverkehr ueber 10KB/s [bei Cs-Servern normal] die CPU entlastet und ermöglicht leicht höhere IN / OUT Werte.

Device Drivers --->
DMA Engine support --->[*] Support for DMA engines
--- DMA Clients[*] Network: TCP receive copy offload
--- DMA Devices
<M> Intel I/OAT DMA support

Verbessert auch das CPU- und Interruptverhalten bei hoher Netzwerklast
Dieses HowTo befand sich bis vor einigen Monaten auf www.pur3gaming.com, leider ist die Seite nicht mehr erreichbar. Dieses ausführliche HowTo ist somit auch nicht mehr verfügbar, daher habe ich es auf meiner Seite aufgenommen. Das HowTo wurde von dem User "Andy" auf der oben genannten Seite veröffentlich.

Bitte beachtet: Für alle hier aufgeführten Tutorials wird keine Garantie/Verantwortung übernommen...
Jeder ist für sein Tun selbt verantwortlich...Wir geben hier lediglich Tips
add to start line to see 1000fps on yours server ps. csgo maybe run better too on css kernel

Code:
-tickrate 66 +fps_max 1000 -pingbost 3 -pidfile css1.pid +sys_ticrate 10000

Last edited by servers.csgo.cfg; 04-28-2017 at 18:49. Reason: :)
servers.csgo.cfg is offline