Как SRV мне доказывал что CSGO многоядерная, а Kruzya - дурак

Kruzya

Raspberry Pi 4
Команда форума
Меценат
Сообщения
9,994
Реакции
8,269
Ага, т.е. дата поста никого не смутила.
Сейчас продолжительное время я против привязки сервера к ядру, это правда.
Позовите SRVManage в тред, пусть попробует доказать, что кс однопоточная с точки зрения работы ОС.

И пусть сразу расскажет, как происходит привязка сервера к ядру CPU. Нормальная, полноценная.
P.S.: тасксетом это дело - не ограничивается. Если тупо тасксет - будет только хуже.
 

Banana

Участник
Сообщения
629
Реакции
59
Расписали бы пост как делается полноценная привязка к ядру так чтоб был результат.
 

Kruzya

Raspberry Pi 4
Команда форума
Меценат
Сообщения
9,994
Реакции
8,269
@Banana, я-то могу расписать, только какой практический смысл Вы ожидаете получить от этой самой привязки?
Недавно с одним форумчанином проверяли эту самую "теорию" с изоляцией на практике. Результат? Ну, sv и var становятся красивее, зато каждый заход в код плагинов резко начинает вызывать непонятные фризы.
Есть ли польза от привязки? Если изолировать - однозначно да, ведь "долгожданные циферки" становятся красивее, вот только приходится расплачиваться тем, что даже банальное "шлёпнуть игрока" спровоцирует фриз...
 

Accelerator

Участник
Сообщения
72
Реакции
24
Раз уж тема у Вас зашла о привязке и дабы не создавать новый вопрос спрошу. У меня L4D2 сервер. Без привязки к ядру процесса srcds_linux sv и var становятся нестабильными и время от времени проскакивают фризы сервера. При привязке к ядру через taskset сервер работает стабильнее и sv & var становятся стабильными и фризов не наблюдается. Но хотелось бы, чтобы все таки процесс бегал по ядрам, т.е. чтобы система распределяла нагрузку. Заметил, что если ситуация как на скрине 1, то сервер работает хуже. Так вот, как можно сделать так, чтобы процесс srcds_linux использовал оба ядра (т.е. скакал с одного на другое по мере нагрузки), но при этом потоки этого процесса также садились на то же ядро, что использует основной процесс, как на скрине 2 (на нем идет привязка через taskset, соответственно, процесс и его потоки не сядут на другое ядро).
 

Вложения

  • 2.png
    2.png
    6.8 КБ · Просмотры: 25
  • 1.png
    1.png
    7.8 КБ · Просмотры: 18

Доктор Вирус

Участник
Сообщения
503
Реакции
164
Раз уж тема у Вас зашла о привязке и дабы не создавать новый вопрос спрошу. У меня L4D2 сервер. Без привязки к ядру процесса srcds_linux sv и var становятся нестабильными и время от времени проскакивают фризы сервера. При привязке к ядру через taskset сервер работает стабильнее и sv & var становятся стабильными и фризов не наблюдается. Но хотелось бы, чтобы все таки процесс бегал по ядрам, т.е. чтобы система распределяла нагрузку. Заметил, что если ситуация как на скрине 1, то сервер работает хуже. Так вот, как можно сделать так, чтобы процесс srcds_linux использовал оба ядра (т.е. скакал с одного на другое по мере нагрузки), но при этом потоки этого процесса также садились на то же ядро, что использует основной процесс, как на скрине 2 (на нем идет привязка через taskset, соответственно, процесс и его потоки не сядут на другое ядро).
Без оптимизации кода движка source, вручную сделать адекватное распределение по потоком не реально. Тоже самое, если, сидеть ломать голову над Crysis 2007 года, над ее распределением нагрузки по потокам. Source очень старый движок 2004 года, когда дай боже 2 потока было у кого.
 

Reg1oxeN

Участник
Сообщения
285
Реакции
197
Раз уж тема у Вас зашла о привязке и дабы не создавать новый вопрос спрошу. У меня L4D2 сервер. Без привязки к ядру процесса srcds_linux sv и var становятся нестабильными и время от времени проскакивают фризы сервера. При привязке к ядру через taskset сервер работает стабильнее и sv & var становятся стабильными и фризов не наблюдается. Но хотелось бы, чтобы все таки процесс бегал по ядрам, т.е. чтобы система распределяла нагрузку. Заметил, что если ситуация как на скрине 1, то сервер работает хуже. Так вот, как можно сделать так, чтобы процесс srcds_linux использовал оба ядра (т.е. скакал с одного на другое по мере нагрузки), но при этом потоки этого процесса также садились на то же ядро, что использует основной процесс, как на скрине 2 (на нем идет привязка через taskset, соответственно, процесс и его потоки не сядут на другое ядро).
главному потоку сервера лучше всего выделять одно ядро, а остальные потоки пускать по остальным ядрам.
еще можно попробовать поднять приоритет главному потоку, что в теории уменьшит тайминги горячо любимых sv и var.
 
Сверху