Запуск сервера на другом ядре

oleg_nelasy

Участник
Сообщения
664
Реакции
46
Операционная система win 10.

В данный момент при запуске бат файла использует все ядра процессора. Конечно можно поле запуска задать сходство и указать на каких потоках работать, но в таком случаии после падения сервера он все равно запускается на всех ядрах.
Вопрос следующий есть способ задать потоки процессора при запуске бат файла?
Пример бат файла который использую сейчас.

@Echo off
cls
echo Protecting srcds from crashes…
echo If you want to close srcds and this script, close the srcds window and type Y depending on your language followed by Enter.
title srcds.com Watchdog
:srcds
echo (%time%) srcds started.
start /wait srcds.exe -game csgo -console -usercon +game_type 0 +game_mode 1 +map de_dust2 -tickrate 128 +net_public_adr 159.224.185.3 -port 27015 +autoexec.cfg
echo (%time%) WARNING: srcds closed or crashed, restarting.
goto srcds
 

oleg_nelasy

Участник
Сообщения
664
Реакции
46
я пребывал создавать ярлык C:\Windows\System32\cmd.exe /c start /affinity 0C E:\Public\start.bat
в таком случаи при запуске мне выдает srcds.exe не найдено проверьте правильно ли указано имя

если в бат файле указать srcds -game csgo -console -usercon +game_type 0 +game_mode 1 +map de_dust2 -tickrate 64 +net_public_adr 159.224.185.3 -port 27015 +autoexec.cfg +fps_max 0 -maxplayers_override 64 +mat_queue_mode 2 то просто открывается терминал по адресу C:\Windows\System32
Сообщения автоматически склеены:

Прошу прощения разобрался. В бат файле в качестве аргумента команды старт надо указать /affinity и какие ядра можно еще /high для высокого приоритета процесса.
Пример start /high /affinity 0C /wait srcds.exe -game csgo -console -usercon +game_type 0 +game_mode 1 +map de_dust2 -tickrate 128 +net_public_adr 159.224.185.3 -port 27015 +autoexec.cfg
 
Последнее редактирование:

oleg_nelasy

Участник
Сообщения
664
Реакции
46
А зачем привязывать сервер к ядрам? Только хуже делаете ведь.
ну смотри когда я запускаю на всех при стрес тесте сервер грузит 0 поток на 100% остальные 5-10 и то не постоянно. Про это если я выделяю серверу конкретные потоки плачется 1 поток 100% второй где-то 50-70% и эффект тотже только сервер не лезет на соседние потоки. таким образом мне достаточно 2 потоков, и я могу установить несколько серверов и быть уверенным что нагрузка с одного не повлеяет на другой.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #6
нагрузка с одного не повлеяет на другой
Она и так не повлияет. Учите матчасть.
Процессорное ядро (логическое) не умеет выполнять более одного процесса одновременно. Система постоянно меняет контекст.
 

oleg_nelasy

Участник
Сообщения
664
Реакции
46
Она и так не повлияет. Учите матчасть.
Процессорное ядро (логическое) не умеет выполнять более одного процесса одновременно. Система постоянно меняет контекст.
то есть если я запушу второй сервер он автоматически прыгнет на второе ядро?
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #8
@oleg_nelasy, он будет скакать по ядрам, потому что система, помимо Ваших серверов, выполняет некоторые свои службы. А так как ядро одновременно более одной задачи выполнять не может, то Ваш сервер может приостанавливать своё выполнение на ядре 1, на котором тут же будет исполняться любой системный процесс (или иной), а сервер может в это время может запуститься на ядре 2. А может не запуститься. Тут от планировщика системы зависит.
Когда Вы лочите сервер за ядром, у планировщика такой свободы действий нет, и когда системе очень нужно повесить какой-то свой процесс на выполнение на ядре сервера, тот просто гарантированно уйдёт в простой и ничего делать не будет.
 

oleg_nelasy

Участник
Сообщения
664
Реакции
46
@Kruzya, а вот такой вопрос есть. Смотри ставлю я 128 тик 24 бота это придел при котором сервер начинает подлагивать в начале раунда пока все боты живы. При этом в мониторе ресурсов следующая картина грузится одно ядро и еще 3-4 ядра время от времени нагружаются 7-15%. Во что я уперся. Хотя если я запушу второй сервер (на первом сидит человек чтобы боты работали и была нагрузка) на нем все хорошо прям играй и получай удовольствие.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #11
@oleg_nelasy, в чем вопрос-то заключается? Вы уперлись в возможности процессорного ядра. Хоть сервер и скачет по ядрам (потому что планировщик системы), он по сути за секунду реального времени может использовать 100% ресурсов при условии, что мы считаем, что максимальная загрузка на процессор равна 100% * кол-во логических ядер (4-е ядра без гипертрединга == 400%; и так далее). Вам нужно брать более мощные ядра. Количество наращивать бесполезно.
 
Сверху Снизу