Denis Yuriev

Записки бездельника

Главная » Linux » Игровые сервера » Counter-Strike 1.6 » Игровой сервер CS 1.6 — от А до Я — Шаг 3 - Linux Kernel

Игровой сервер CS 1.6 — от А до Я — Шаг 3 — Linux Kernel

Итак, друзья.
Сегодня мы немножко опять отстранимся от самой игры и позанимаемся немного системой.

Напомним, что было парой статей ранее

Рыба гнеет с головы, поэтому я решил начать оптимизацию издалека. Всю операционную систему пересобирать мне мягко говоря лень, а вот а уровне ядра бы пару оптимизаций сделать.

Подготавливаемся к сборке ядра Debian Linux

Здесь можно дать много инструкций по этой теме, но просто скажу вам почитать мою прошлую статью про сборку ядра Debian Linux.

Читаем и делаем до упоминания команды

make menuconfig

Выбираем параметры оптимизации ядра под процессор

Мне у MajorDomo достался следующий процессор:

$ cat /proc/cpuinfo
...
cpu family : 6
model      : 15
model name : Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz
...

Если значения cpu family : 6 и model : 15 у вас такие же, то в параметрах ядра необходимо выставить

Processor type and features  --->
   Processor family  --->
      (X) Core 2/newer Xeon

Иначе гугл Вам в помощь.
Данный пункт выпилит поддержку других цпу, однако оптимизирует работу ядра конкретно на нашем семействе процессоров производства Intel.

Сделали? Читаем дальше.

Увеличиваем отзывчивость ядра

Сейчас мы заденем параметр, о котором немыслемое количество, извиняюсь, срача в интернете.

Timel frequency

В данном вопросе на сегодняшний день я, скажем так, дилетант. Кто-то говорит, что параметр на сегодняшний день не актуален и не используется, кто-то утверждает что разницы не ощутил.
Ну раз уж мы заползли в настройки ядра, то вспомним изначальное назначение параметра и установим необходимое нам.

Немного мат.части. Во многопоточных системах процессы не одновременно используют ядро процессора а по очереди. Процессор как бы переключается с одной задачи на другую с некоторой периодичностью.

Вот этот параметр и говорит процессору, как часто менять задачи:

100 HZ — 100 раз в секунду
1000 HZ — 1000 раз в секунду

Какие подводные камни? Всё до безобразия просто. На переключение процессор тратит тоже некоторое свое время и ресурсы. Посему накладные расходы в случае с 1000 HZ в 10 раз выше чем в ситуации когда параметр равен 100 HZ (в 10 раз больше переключений).
Это был минус в выставлении большего параметра.

Но есть и плюс — система отзывается намного охотнее на операции пользователя и/или прочие события.

Ту бишь в нашем случае (игровой сервер) нам стоит установить как раз таки 1000 HZ. Но это лишь теория. В реальности придется поэкспериментировать.
Хотя бы потому что у Вас возможно как и у меня 2 ядра, а количество установленных служб помимо сервера CS я предугадать не берусь.
Итак, предположим, что у нас в будущем будет несколько игровых серверов, плюс веб-сервер для быстрой отдачи файлов пользователям.
Логичнее выбрать Timel frequency = 1000 HZ

Processor type and features  --->
   Timel frequency  --->
      (X) 1000 HZ

Настроили? Теперь собираем и устанавливаем свежеиспеченное ядро.
Как? Об этом в вышеупомянутой статье, на которую я ссылался.

Сделай приятное автору - поделись статьей в социальной сети.

2 Комментариев

  1. А если у меня cpu family 6, а model 13, то нужно менять параметры ядра?

    • Денис Юрьев

      У вас семейство Pentium M/Celeron M
      Причем х86 битный, если я ничего не путаю

      В вашем случае вообще лучше изначально Gentoo использовать, ибо железо не самое свежее, а выжимать максимум явно хочется.

Оставьте комментарий

Войти с помощью: 
Denis Yuriev DMOZ Индекс цитирования

© 2017