Unlock turbo boost linux

Пробуем Intel Xeon E5 2666 v3 процессор на Fedora Linux

Приветствую тебя авантюрист. Совсем недавно мне пришла посылочка с Аliexpress. Посылочка эта содержала довольно интересный (на мой взгляд) набор комплектующих. Тема эта меня интересовала давно. Я читал и смотрел довольно много материала про серверные процессоры серии Xeon E5 из Китая и вот наконец решился его заказать. А это значит, что сегодня я расскажу тебе о том, что это за зверь, как он ведет себя на Linux системах, стоит ли их покупать и если стоит, то для каких целей.

Немного вводной информации

Для понимания ситуации стоит ответить на ряд вопросов. Откуда в поднебесной берутся процессоры intel? На самом деле здесь все просто. Каждый год компания intel выпускает новую линейку процессоров, в том числе и серверных. И раз в два года уменьшает техпроцесс производства процессоров. Уменьшение техпроцесса влечет за собой уменьшение потребляемой мощности. А учитывая, что в датацентрах процессоров может быть очень много, уменьшение их аппетита позволит сильно сэкономить. Ну и все старые процессоры благополучно списываются и различными путями попадают в Китай. А те в свою очередь их благополучно реализуют. Исходя из этой информации, мы попутно можем ответить на вопрос почему так дешево? Потому что это списанная б/у техника.

Что значит серверный процессор?

Серверный процессор от обычного отличается в первую очередь надежностью. Он рассчитан на работу 24/7 под полной нагрузкой в заявленных частотах. Серверные процессоры на порядок мощнее десктопных вариантов, но потребление электроэнергии и теплопакет у них выше. Частота на одно ядро у серверного процессора как правило ниже. Связано это с тем, что серверу важнее уметь делать много небольших действий, чем одно большое. Серверный процессор умеет работать с большими объемами памяти. Серверный процессор может выполнять такие же задачи как и десктопный, а значит можно без проблем использоваться для решения домашних задач.

Так как я не имею достаточного опыта в закупке подобных вещей, я не стал выпендриваться и брать все по отдельности. Я решил купить комплект целиком. Процессор Intel Xeon E5-2666v3 (10 ядер 20 потоков) установленный в материнскую плату Jingsha x99-D8 и 32 гигабайтами оперативный памяти DDR 4 ECC с частотой 2400 МГц ( 2 по 16 ). Стоимость данного комплекта, на момент покупки — 13 564 рублей ( Стоит отметить достойное качество материнской платы. Компоненты размещены ровно, припаяны качественно и эстетично. Конденсаторы все полимерные, а значит не вздуются через годик другой. Плата увесистая, мощные тяжелые радиаторы. Особенно бросается в глаза радиатор зоны ВРМ процессора. Имеется подсветка, смотрится все очень хорошо.

Читайте также:  Подключить раздел windows linux

Первым делом, конечно же полез в монитор ресурсов и… только посмотри, авантюрист

Я сразу же начал запускать все игры подряд. В прошлой конфигурации у меня был старенький Ryzen 1500 и 32 гб ОЗУ DDR 4. Разница конечно очевидна. CS GO выдала в 2 раза больше ФПС ( 180 против 98 в среднем ), так же как и Starcraft 2 ( 210 против 120 в среднем ). В Quake Champions прирост был небольшой, но там упор в видеокарту. Конвертирование видео было в 3-4 раза быстрее в зависимости от кодека и контейнера. Температуры процессор держал в районе 50-56 градусов, кулер даже не напрягался. Частоты процессора прыгали, турбо буст работал. В общем, все круто. На Linux, в частности Fedora 37, процессор чувствует себя отлично. Но данные процессоры можно еще и разгонять, точнее разблокировать.

Разблокировка турбо буста.

Теория гласит, что процессор E5-2666 v3 работает на частоте 2900 МГц в максимальной нагрузке. Но 2 ядра из всех могут работать на частоте до 3500 МГц. Если проделать некоторые манипуляции с BIOS материнской платы, то мы можем разблокировать данное ограничение и получить 3500 МГц на ВСЕХ ядрах. А это почти 20% разницы. Как проделать эту манипуляцию очень хорошо описано вот тут Поле прошивки BIOS мы можем через операционную систему управлять частотами процессора. Для того, чтобы частоты заработали нам надо еще отключить турбо буст и включить режим скалинга частот в «performance». И делать это все для каждого ядра в отдельности. Само собой для упрощения процесса я написал пару скриптов. Один из них включает максимальную мощность, второй возвращает все как было.

cores=$(cat /proc/cpuinfo | grep processor | awk »)

cores=$(cat /proc/cpuinfo | grep processor | awk »)

И вот теперь мы можем увидеть вот это

Некоторые ядра прыгают, но я думаю это связано с тем что процессор просто не вывозит и все таки что-то сбрасывает периодически.

CS GO стал выдавать еще больше фпс. Теперь в среднем я имел около 250 фпс, что очень комфортно. В небольших локациях фпс в районе 300-350, в замкнутых коридорах — до 380.

StarCrfat 2 также стал выдавать больше фпс, примерно на те самые 20%. 310 ФПС на старте я такого вообще не видел ни разу в живую.

С Quake Champions дела обстоят интересно. Если не включать полную мощность, то мы имеем примерно вот что

150 — неплохо. А, если включаем все частоты, имеем следующее.

ФПС стал больше, но обрати внимание на загрузку видеокарты в обоих случаях. В первом она под 100% и в целом в нее все и упирается. Во втором она довольно сильно разгружена, но ФПС стал выше. Не знаю почему и как. Спишем на странности самой игры. Как итог играть конечно очень комфортно.

Читайте также:  Монтирование cifs linux windows

В сети есть довольно много информации о микрофризах в играх на ксеонах. Я гонял данный процессор около недели. Играл в doom, играл в Quake, играл в CS GO. Игры довольно аимные. И заметить малейшие странности в поведении игры я уж точно должен был. За все время пользования бывали некие разовые просадки, которые можно связать с чем угодно. Но на 100% могу сказать, что я не видел никаких четких, заметных, часто повторяющихся фризов, тормозов или глюков влияющих на комфортность игры. Я не утверждаю, что их не может быть. Ведь процессоры дело такое, разное качество, разный износ и возможно они действительно имеют место быть. Не зря же о них пишут. Но конкретно на моей конфигурации, на моем оборудовании их нет.

Итог на самом деле подвести довольно не просто. В идеале конечно бы набрать на такую же сумму оборудования в том же DNS для сравнения и провести совместные тесты. Но у меня такой возможности нет. Возможно у тебя, авантюрист, есть необходимое железо и желание погонять тесты, пиши в личку или в комментарии. Тогда общий вывод можно будет сделать более корректный. Но из того что мы имеем скажу, что данные процессоры имеет смысл приобретать как для работы так и для дома. Главное — цена должна быть приемлема! Больше количество ядер довольно хорошо справляется с рендером, что подтвердил мне мой коллега активно занимающийся 3Д моделированием. Эти камушки имеют хороший коэффициент цена/производительность. Но слабая мощность на 1 ядро может плохо себя показать в тяжелых задача, которые не поддаются дроблению на потоки. К таким задачам вполне можно отнести многие игры. Именно по этому я выбрал процессор E5 2666 v3. У него довольно большая частота ядра. Ну и как видно по скриншотам этой частоты с лихвой хватает. При покупке нужно быть очень внимательным! Процессор нужно брать именно под разблокировку. В стоковом состоянии его использование не сильно выгодно. Разблокировке поддаются НЕ ВСЕ процессоры. Так же имей ввиду, что у камня большое ТДП, которое нужно будет чем-то отводить. Ну и блок питания должен смочь выдать нужную мощность, должен быть запас. Я о покупке не пожалел, процессор отлично работает на Linux и он действительно стоит своих денег!

Источник

turboboost (Решено)

Здравствуйте! Узнал как отключать turboboost (echo «0» | sudo tee /sys/devices/system/cpu/cpufreq/boost) вот только после перезагрузки, значение снова «1». Подскажите, кто знает как решить проблему.
upd. У меня ноутбук, так что в биосе этих настроек нет.

Читайте также:  Get cpu linux command

9 комментариев

это можно сделать через конфигурирование TLP:
установите параметры в etc/default/tlp
TLP — конфигурация

Всегда есть быстрое простое неправильное решение.
быстрые простые правильные (иногда) ответы здесь t.me/manjarolinux

Нашел что-то похожее /etc/tlp.conf там есть параметры:
# Set the CPU «turbo boost» feature: 0=disable, 1=allow
# Requires an Intel Core i processor.
# Important:
# — This may conflict with your distribution’s governor settings
# — A value of 1 does *not* activate boosting, it just allows it
Default: # CPU_BOOST_ON_AC=1
# CPU_BOOST_ON_BAT=0
попробовал поставить значение # CPU_BOOST_ON_AC=0 раскомментировал эту строку, перезагружал-без изменений.
Не совсем понимаю, что надо сделать, чтобы это заработало.

я не уверен, но полагаю, что нужно раскомментировать обе строки и оставить значения как есть(ну или поиграться с цифрами, комбинаций не так уж много), потом выполнить

echo "0" | sudo tee /sys/devices/system/cpu/cpufreq/boost

Необходимо ядро Linux 3.7 и выше
Значение 1 не активирует режим, а только позволяет его использовать

Отправка специалистом технической поддержки ссылки на руководство по эксплуатации и другую документацию, не является отказом в предоставлении поддержки.
bash.org

Поигрался с цифрами-ноль эмоций. Правда там же есть ещё такие строки:
#CPU_SCALING_MIN_FREQ_ON_AC=0
#CPU_SCALING_MAX_FREQ_ON_AC=100
#CPU_SCALING_MIN_FREQ_ON_BAT=0
#CPU_SCALING_MAX_FREQ_ON_BAT=100
раскомментил, пробовал разные варианты, но эффект был один и тот же- процессор работал строго на частоте 1.2Ггц ни больше ни меньше.
В общем, спасибо за ответы, теперь хоть знаю где копать. Буду пробовать дальше.

И снова на просторах инета находил для себя решение путем задействования средств системд.

Внутри юнита (именовать файл можете как угодно, главное чтоб для себя понятно было):

[Unit] Description=Disable Turbo Boost in /sys/devices/system/cpu/cpufreq/boost [Service] Type=oneshot ExecStart=/bin/sh -c "echo 0 > /sys/devices/system/cpu/cpufreq/boost" ExecStop=/bin/sh -c "echo 1 > /sys/devices/system/cpu/cpufreq/boost" RemainAfterExit=yes [Install] WantedBy=multi-user.target

Сохраняем, активируем, смотрим. Делал так на своем старом буке HP. Работало как часы.

Проблема решена! Спасибо! Но почему-то попытки с десятой. Я раз за разом производил одни и те же действия, но сначала система не видела юнит, потом маскировала его, а потом запустила. Не знаю почему так, но всё заработало.
Если кому-нибудь пригодится, то вот что я сделал: через графический интерфейс создал файл turboboost.service в каталоге /etc/systemd/system, скопировал туда
[Unit]
Description=Disable Turbo Boost in /sys/devices/system/cpu/cpufreq/boost

[Service]
Type=oneshot
ExecStart=/bin/sh -c «echo 0 > /sys/devices/system/cpu/cpufreq/boost»
ExecStop=/bin/sh -c «echo 1 > /sys/devices/system/cpu/cpufreq/boost»
RemainAfterExit=yes

сделал его исполняемым, запустил при помощи команды systemctl start turboboost.service, поставил в автостарт при помощи команды systemctl enable turboboost.service, перезагрузил и всё заработало.

Да, извиняюсь. Забыл написать не менее важное уточнение.
Файл сервиса надо помещать по пути /etc/systemd/system/ или сразу от рута создавать там.
Еще вариант если драйвер управления частотой процессора Intel_pstate, путь и значения будут другие:

Intel_Pstate - /sys/devices/system/cpu/intel_pstate/no_turbo 1 - off 0 - on

Источник

Оцените статью
Adblock
detector