Статус темы:
Закрыта.
  1. BaJIepbI4 Пользователь

    Регистрация:
    12.05.15
    Сообщения:
    1.071
    Симпатии:
    211
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    Кто-нибудь собирал ядро конкретно под сервак кс 1.6 паблик? Стоит вообще этим заморачиваться?
     
  2. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.596
    Симпатии:
    4.169
    Пол:
    Мужской
    я собирал.
    стоит.
     
  3. BaJIepbI4 Пользователь

    Регистрация:
    12.05.15
    Сообщения:
    1.071
    Симпатии:
    211
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    Вань, а можешь подсказать для тех, кто не сильно разбирается в этом с чего начать? Может какие мануалы покурить посоветуешь...
     
  4. neygomon Его Темнейшество :j Команда форума

    Регистрация:
    26.02.15
    Сообщения:
    7.596
    Симпатии:
    4.169
    Пол:
    Мужской
    BaJIepbI4, компиляция ядра linux =)
    в гугл
     
  5. BaJIepbI4 Пользователь

    Регистрация:
    12.05.15
    Сообщения:
    1.071
    Симпатии:
    211
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    Ну это само собой, я хотел услышать совета от гуру :smile:

    Нашел один мануал на мйэксервер:

    В этой теме мы объясним, как оптимизировать ядро Linux под HLDS для стабильного fps, чтобы не было сильных скачков и просадок. Приступим?

    1. Необходимые пакеты:
    Убедитесь что они уже установлены, если их нет, то установите самостоятельно.
    • gcc (компилятор)
    • make, gmake или gnu-make
    • fakeroot
    • ncurses and ncurses-dev (libncurses5-dev в Debian и Ubuntu)
    • chrt (в Debian пакет schedutils, в других может schedtool)
    • zlib1g-dev (это для Debian и Ubuntu)
    • kernel-package (Debian и Ubuntu)
    • patch



    2. Скачиваем сурцы ядра и патч
    cd /usr/src


    Открываем
    http://kernel.org/pub/linux/kernel/projects/rt/
    и смотрим последнюю версию ядра, для ктоторой есть RT патч и скачиваем этот патч:
    wget http://kernel.org/pub/linux/kernel/projects/rt/patch-2.6.31.12-rt21.gz



    Теперь идем на
    http://kernel.org/pub/linux/kernel/v2.6/
    и качаем ядро той же версии, что и патч RT.
    wget http://kernel.org/pub/linux/kernel/v2.6/linux-2.6.31.12.tar.gz



    Распаковываем ядро и патчим его:
    tar zxf linux-2.6.31.12.tar.gz
    cd linux-2.6.31.12
    zcat ../patch-2.6.31.12-rt21.gz | patch -p1



    3. Настройка и компиляция ядра

    Открываем утилиту для редактирования конфига ядра. Утилита консольная, пойдет и на десктопах и на серверах по SSH.
    make menuconfig


    И меняем следующие настройки:



    General setup:

    RCU Subsystem (ignore if not present)

    Включить RCU Implementation (Preemptible RCU)
    Отключить Enable tracing for RCU



    Processor type and features:

    Включить Tickless System (Dynamic Ticks)
    Включить High Resolution Timer Support
    Выбрать тип проца
    Поменять Preemtion Mode на Complete Preemption (Real-Time)
    Включить Enable priority boosting of RCU read-side critical sections (ignore if not present)
    Отключить Enable tracing for RCU - currently stats in debugfs (ignore if not present)
    Включить Machine Check Exception and select Intel or AMD depending on your CPU
    Поменять Timer frequency на 1000 HZ


    Power management and ACPI options

    Включить Power Management support
    Отключить Power Management Debug Support
    Отключить Suspend to RAM and standby
    Отключить Hibernation (aka 'suspend to disk')
    Включить ACPI (Advanced Configuration and Power Interface) Support
    Отключить CPU Frequency scaling
    Отключить CPU idle PM support


    Networking support

    Networking options

    Включить Packet socket: mmapped IO
    Отключить QoS and/or fair queueing



    Device Drivers

    Отключить Watchdog Timer Support
    Включить Real Time Clock
    Включить PC-style 'CMOS'


    Kernel hacking

    Отключить все




    Приступаем к компиляции:

    make clean
    fakeroot make-kpkg clean && fakeroot make-kpkg kernel_image --initrd && cd ..


    Ждем....... через некоторое время видим готовый .deb пакет с ядром.

    cd ..
    dpkg -i 'ИМЯ_НОВОГО_DEB_ПАКЕТА'



    Пакет установится и все зависимости подправит, а GRUB обновит.

    4. Загрузка с новым ядром

    Перезапустим наш PC.

    shutdown -r now


    При загрузке необходимо выбрать новое ядро.

    Если загрузка прошла успешно, вводим команду
    uname -r


    Ответ в консоле должен быть что-то типа:
    2.6.31.12-rt21



    5. Назначение серверам RealTime приоритета
    Это делается с помощью команды
    chrt -f -p 99 pid


    Где pid - pid процесса сервера.

    Также можно закинуть все такое дело в CRON скрипт. Например вот так:

    #!/bin/sh

    PIDS=`ps ax | grep sirq-hrtimer | grep -v grep | sed -e "s/^ *//" -e "s/ .*$//"`
    for p in $PIDS; do
    chrt -f -p 99 $p
    done

    PIDS=`ps ax | grep sirq-timer | grep -v grep | sed -e "s/^ *//" -e "s/ .*$//"`
    for p in $PIDS; do
    chrt -f -p 51 $p
    done

    PIDS=`pidof srcds_linux`
    for p in $PIDS; do
    chrt -f -p 98 $p
    done

    PIDS=`pidof srcds_i686`
    for p in $PIDS; do
    chrt -f -p 98 $p
    done

    PIDS=`pidof srcds_i486`
    for p in $PIDS; do
    chrt -f -p 98 $p
    done

    PIDS=`pidof srcds_amd`
    for p in $PIDS; do
    chrt -f -p 98 $p
    done

    PIDS=`pidof hlds_i686`
    for p in $PIDS; do
    chrt -f -p 98 $p
    done

    PIDS=`pidof hlds_i486`
    for p in $PIDS; do
    chrt -f -p 98 $p
    done

    PIDS=`pidof hlds_amd`
    for p in $PIDS; do
    chrt -f -p 98 $p
    done



    Этот скрипт назначит приоритет серверам HLDS максимальный

    Проверяем!
    ./hlds_run -game cstrike +map de_dust2 +sys_ticrate 1000 -pingboost 3



    Должно получиться 990-1000 довольно стабильных фпс:

    CPU In Out Uptime Users FPS Players
    22.90 0.00 0.00 5 0 996.06 0
    stats
    CPU In Out Uptime Users FPS Players
    22.90 0.00 0.00 5 0 992.01 0
    stats
    CPU In Out Uptime Users FPS Players
    22.90 0.00 0.00 5 0 994.08 0
    stats
    CPU In Out Uptime Users FPS Players
    22.90 0.00 0 .00 5 0 993.02 0


    Теперь мы видим стабильный FPS и стрельбу превосходную!!!

    Если хотим иметь не менее 1000 FPS, то запускаем так:
    ./hlds_run -game cstrike +map de_dust2 +sys_ticrate 1500 -pingboost 3


    The end

    Если не сложно можешь глянуть и сказать свое мнение относительно его адекватности :confused:
     
  6. BaJIepbI4 Пользователь

    Регистрация:
    12.05.15
    Сообщения:
    1.071
    Симпатии:
    211
    Пол:
    Мужской
    Skype:
    BaJIepbI4_sky
    Тема никому не интересна, можно закрывать.
     
Статус темы:
Закрыта.