Частота процессора при нагрузке

inklesspen

Пишу модули под LSD
Меценат
Сообщения
1,680
Реакции
687

mrdiega

Участник
Сообщения
89
Реакции
0
Протестил ещё раз и мне всё-таки удалось увидеть частоту 4100, но продержалась она один раунд и сбросилась обратно на 3500 и выше больше не поднималась. Это уже значит что srcds не ограничена базовой частотой, что изначально было моим вопросом.
Попробовал в биосе убрать все ограничения по теплопакету и все энергосберегалки - после этого проц стал чаще буститься до 4,1GHz по ядрам, но происходило это всё равно редко и держалась частота только 1 раунд до следующего спавна, большую часть теста частота была по-прежнему 3,5GHz.

Решить это помогло привязывание сервера к одному ядру
к строке запуска добавил taskset -c 0
C-подобный:
screen -A -m -d -S server taskset -c 0 ./srcds_run -game csgo -console -usercon -port 27015 -maxplayers_override 32 +map $2000$_csgo -tickrate 128 +sv_lan 0 +game_type 0 +game_mode 0 +tv_port 37015 -secure
после этого стабильно все раунды была максимальная частота по ядрам, и опускалась ниже только когда большая часть ботов умирала:
после привязки к ядру.png
также всё и осталось после возвращения энергосберегалок в биосе на прежние значения.

Пока что не уверен насколько это эффективно на практике, так как и до этого и после сервер не лагал и разницу я вижу только в значениях частот.
Правильно я понимаю, что при "taskset -c 0" за сервером привязывается 1 физическое ядро и 1 его поток, и получается, что в таком случае я могу держать столько серверов, сколько физ. ядер у процессора?
 
Последнее редактирование:

WeSMan

Участник
Сообщения
550
Реакции
183
Протестил ещё раз и мне всё-таки удалось увидеть частоту 4100, но продержалась она один раунд и сбросилась обратно на 3500 и выше больше не поднималась. Это уже значит что srcds не ограничена частотой, что изначально было моим вопросом.
Попробовал в биосе убрать все ограничения по теплопакету и все энергосберегалки - после этого проц стал чаще буститься до 4,1GHz по ядрам, но происходило это всё равно редко и держалась частота только 1 раунд до следующего спавна, большую часть теста частота была по-прежнему 3,5GHz.

Решить это помогло привязывание сервера к одному ядру
к строке запуска добавил taskset -c 0
C-подобный:
screen -A -m -d -S server taskset -c 0 ./srcds_run -game csgo -console -usercon -port 27015 -maxplayers_override 32 +map $2000$_csgo -tickrate 128 +sv_lan 0 +game_type 0 +game_mode 0 +tv_port 37015 -secure
после этого стабильно все раунды была максимальная частота по ядрам, и опускалась ниже только когда большая часть ботов умирала:
также всё и осталось после возвращения энергосберегалок в биосе на прежние значения.

Пока что не уверен насколько это эффективно на практике, так как и до этого и после сервер не лагал и разницу я вижу только в значениях частот.
Правильно я понимаю, что при "taskset -c 0" за сервером привязывается 1 физическое ядро и 1 его поток, и получается, что в таком случае я могу держать столько серверов, сколько физ. ядер у процессора?
Вы сделали неверный вывод про taskset. У вас работает планировщик - он распределяет нагрузку равномерно по ядрам. Когда вы процесс привязываете жёстко к одному ядру, не изолируя его (ядро), то вы получаете такой эффект:
Сервер srcds работает только на этом ядре. Это же ядро задействует планировщик в других задачах. И получается, что сервер делит ядро с другими процессами. Тем самым сервер может ожидать обработки ядра, как это позволит планировщик. НО, если вы изолирует ядро, то планировщик не будет на него претендовать. И ваш сервер получит полноценное изолированное ядро, которое доступно только привязкой через taskset. Я лично работал с такой штукой и по опыту могу сказать:
Лучше не задавать taskset и не изолировать ядра. Планировщик умнее в данном случае.

При нагрузке сервера - у него проседает ФПС на 3.5GHz?
 

Kruzya

Raspberry Pi 4
Команда форума
Меценат
Сообщения
10,179
Реакции
8,431
На вдс машине не будет показывать чистоту процессора больше чем базовая чистота процессора.
Оно даже не на вдс будет показывать всегда базовую.
Решить это помогло привязывание сервера к одному ядру
Попросите планировщик ОС хотя бы ради приличия тогда не трогать это ядро, чтобы на нём только SRCDS и крутился.
 

mrdiega

Участник
Сообщения
89
Реакции
0
При нагрузке сервера - у него проседает ФПС на 3.5GHz?
без taskset -c 0
3 раунда, замерял после спавна, когда боты начали разбегаться

после спавна.png

после спавна2.png

после спавна3.png
с taskset -c 0
2 раунда, также после спавна

после спавна ботов.png

после спавна ботов2.png

В обоих случаях средний фпс в начале раунда примерно 65
Сообщения автоматически склеены:

Попросите планировщик ОС хотя бы ради приличия тогда не трогать это ядро, чтобы на нём только SRCDS и крутился.
А если привязать к каждому ядру свой сервер, то просить планировщик не трогать все ядра?)
Если к каждому серверу изолировать своё ядро, то вместе с ядрами отводятся их потоки, насколько я понимаю.
Тогда планировщику ничего не останется
Сообщения автоматически склеены:

Оно даже не на вдс будет показывать всегда базовую
у меня базовая 3.5, отображает до 4.1
 
Последнее редактирование:

Yazik

Участник
Сообщения
28
Реакции
11
C-подобный:
sudo apt-get install tuned
sudo tuned-adm profile latency-performance
 

AlMino

Участник
Сообщения
87
Реакции
17
Странно у меня вообще рандомные частоты постоянно.
 

Вложения

  • 1611679643786.png
    1611679643786.png
    1.7 КБ · Просмотры: 37

DevBT

Не мир плох, плохи люди, обвиняющие во всем мир
Меценат
Сообщения
657
Реакции
168

Danyas

Участник
Сообщения
2,141
Реакции
903
Ну так выруби нафиг турбобуст, спидстеп и прочие дрючки, поставь руками bclk, выстави множители на ядрах и сделай статичную частоту.
По ОС - если была бы винда - можно было заюзать Intel Extreme tuning utility, там можно было бы глянуть во что упирается разгон, так же вправить ему мозги.
 
Сверху