Привязка сервера к ядру (Windows)

xXMaXimXx

хХх
Сообщения
511
Реакции
53
Здравствуйте форумчане.
Настиг такой вопрос, по поводу привязки игрового сервера к определенному ядру и как это сделать?
На машине стоит i7 3770 - 4.0 turboost, хочу распределить нагрузку по ядрам, но не знаю как это сделать, подскажите пожалуйста.

i7 3770 - 4 ядра 8 потоков. Я знаю, что сервер на виндовс использует многопоточность но, я хочу ограничить сервер по ядру, как мне можно это сделать ?

Нужно привязать сервер к 1 ядру и к 2 потокам.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #2
В Windows, начиная с 8 и серверной 2012, можно выставить на вкладке "Подробности" в Диспетере задач используемые ядра:
upload_2018-11-8_21-23-51.png

Думаю, разберётесь, что тут к чему:
upload_2018-11-8_21-24-5.png


Если Винда постарее, можно заюзать сторонний софт.
А может и в более старой можно. Не замечал там такого.
 

xXMaXimXx

хХх
Сообщения
511
Реакции
53
В Windows, начиная с 8 и серверной 2012, можно выставить на вкладке "Подробности" в Диспетере задач используемые ядра:
Посмотреть вложение 35504

Думаю, разберётесь, что тут к чему:
Посмотреть вложение 35505

Если Винда постарее, можно заюзать сторонний софт.
А может и в более старой можно. Не замечал там такого.
это все я знаю, мне нужно , что бы при запуске, сервер самостоятельно был определен на ядро и на 2 потока.
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #4
@xXMaXimXx, у команды start для bat-файлов вроде был аргумент для установки процессоров...
 

xek

Рыба клоун
Сообщения
1,652
Реакции
636
А зачем оно тебе? 2 сервера при полной загрузки 100% не будут работать на одном ядре, а при малой оно и заметно не будет, просто перекинет на другое и всё...
 

Truyn

King of clowns
Сообщения
1,591
Реакции
749
Это Вам так кажется.
Сервер в редких случаях не может пересесть на второе ядро.
В таких случаях ему приходится указывать.

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

+host_thread_mode 1 -threads 2 Указать так?

P.s чтобы я мог полностью грузить один поток а второй просто висел не нагруженный
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,981
А как это всё соотносится вот с этой информацией?
Движок имеет два режима работы - потоковый (многопоточный) и безпотоковый (однопоточный). Переменная host_thread_mode определяет, какой режим работы будет использован. Выделенные сервера игнорируют эту переменную и всегда используют безпотоковый (однопоточный) путь. XBox 360 по-умолчанию работает в потоковом режиме, в то время как ПК по-умолчанию работает в безпотоковом. Потоковый режим был введен вместе с Orange Box версией движка, и не существовал в Episode 1 или в предыдущих версиях.
Порядок кадров - Valve Developer Community
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #11
@Grey83, там он лишь тики вырабатывает в одном потоке.
Обработка команд и пакетов производится в отдельных потоках по прежнему.
upload_2018-11-12_16-20-50.png
 

EaglEs

Гуру пробития усилений
Сообщения
924
Реакции
192
Из архива:
/affinity 1 - ЦП 0 (системное ядро);
/affinity 2 - ЦП 1;
/affinity 3 - ЦП 0, ЦП 1;
/affinity 4 - ЦП 2;
/affinity 5 - ЦП 0, ЦП 2;
/affinity 6 - ЦП 1, ЦП 2;
/affinity 7 - ЦП 0, ЦП 1, ЦП 2;
/affinity 8 - ЦП 3;
/affinity 9 - ЦП 0, ЦП 3;
/affinity 0C - ЦП 2, ЦП 3;
/affinity 0A - ЦП 1, ЦП 3;
/affinity 0B - ЦП 0, ЦП 1, ЦП 3;
/affinity 0D - ЦП 0, ЦП 2, ЦП 3;
/affinity 0E - ЦП 1, ЦП 2, ЦП 3;
/affinity 0F - все.
И приоритеты (на всякий пожарный):
/realtime - реального времени;
/high - высокий;
/abovenormal - выше среднего;
/normal - средний;
/belownormal - ниже среднего;
/low - низкий.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,981
И вообще, насколько я понимаю, host_thread_mode включает возможность использовать более 1 потока, а threads, в свою очередь, указывает сколько потоков процессора можно использовать (а не какой именно).
--- Добавлено позже ---
Кстати, для винды:
В Windows 8 и Windows 7 имеется также возможность запустить приложение так, чтобы сразу после запуска оно использовало определенные логические процессоры. Для того, чтобы сделать это, запуск приложения нужно осуществлять с указанием соответствия в параметрах. Например:
C-подобный:
c:\windows\system32\cmd.exe /C start /affinity 1 software.exe
В этом примере будет запущено приложение software.exe с использованием 0-го (ЦП 0) логического процессора. Т.е. цифра после affinity указывает номер логического процессора + 1. Эту же команду Вы можете записать в ярлык приложения, чтобы оно всегда запускалось с использованием определенного логического процессора. К сожалению, мне не удалось найти информации, как передать параметр таким образом, чтобы приложение использовало не один логический процессор, а сразу несколько.

UPD: нашел как запустить приложение на нескольких логических процессорах с помощью параметра affinity. Указываем маску в шестнадцатеричном формате, например требуется использовать процессоры 1, 3, 5, 7, соответственно, это будет 10101010 или 0xAA, передаем в виде /affinity 0xAA.
Как сделать, чтобы программа использовала для работы определенное ядро процессора
 

Truyn

King of clowns
Сообщения
1,591
Реакции
749
@Крузяра @Grey83
Вот вопрос у меня не windows а линукс,что прописать в стартовом конфиге чтобы мне выделялось ядро целиком?
Я знаю что не получится пользоватся больше чем 1 потоком на linux,но мне хотя бы ядро выделить чтобы 1 поток был свободен,а второй грузился.
 

Grey83

не пишу плагины с весны 2022
Сообщения
8,521
Реакции
4,981
с линуксом я могу только могу посоветовать воспользоваться гуглом
Я сервера на винде держу
 

Kruzya

Участник
Сообщения
12,970
Реакции
10,914
  • Команда форума
  • #16
@Oligarx1488, он и так из коробки будет грузить только один "поток".
 

xXMaXimXx

хХх
Сообщения
511
Реакции
53
Появился еще 1 вопрос. Как указать конкретное ядро серверу ? Нагрузка идет на 1 ядро и на 2 потока, но нагрузка идет на ЦП0 и ЦП2, а мне надо сделать чтобы нагрузка шла на ЦП1 и ЦП2
 

Вложения

  • Безымянный.png
    Безымянный.png
    11 КБ · Просмотры: 53

kylc

Не мир плох, плохи люди, обвиняющие во всем мир
Сообщения
924
Реакции
294
Гайсы, вопрос для меня актуален. Имеется 1 ядро и 2 потока. Можно ли 2 сервера раскидать на два потока, ибо запускаются они на одном и долбят один поток в 100%, когда второй 3-10%.
 

RusJJ

Доброе утро девачьки
Сообщения
2,582
Реакции
1,075
@DevBT, так если ядро одно, не сильно поможет второй поток. Ядро ведь одно.
 
Сверху Снизу