Приветствую, господа. Если вы, как и я, приобрели крутой «оверклокерский» процессор, вставили его, врубили на полную катушку и забыли, а спустя какое-то время с компьютером стали твориться странные вещи, то эта статья для вас. В ней я попытался скомпилировать некоторый опыт, полученный из попыток разобраться в проблеме с неправильно работающим процессором и самостоятельно настроить всё как надо. Не претендую на эксперта в данной области, но эксперты предпочитают презрительно воротить нос от таких, как мы с вами, так что спасение утопающих это задача самих утопающих, как обычно.
Все началось с того, что у меня начали без видимой причины вылетать и зависать совершенно случайные приложения, вроде оперы или телеги, а закончилось всё тем, что на любую попытку загрузить винду вылетал BSOD. Я, само собой, первым делом полез в гугл, но, устав продираться через дебри дебильных советов вроде переустановить дрова, протереть монитор, попинать системный блок и отправить дамп памяти к какой то матери, я пришел к выводу, что проблема в разгоне процессора, а точнее, в утилите Intel Turbo Boost, которая, якобы, должна этот самый разгон обеспечивать без лишних усилий со стороны юзера, каковой может в разгоне ничего не понимать. Но все оказалось не так просто. Потому я плюнул и решил таки слегка разобраться в этой теме. Что потребовало определенной сосредоточенности, ибо ценную инфу пришлось выуживать с миру по нитке и в основном из англоязычных источников. Но я справился.
В чем суть проблемы?
Её первая часть заключается в том, что Intel Turbo Boost одним ему ведомым способом выставляет завышенное напряжение. Чекнув датчики, я увидел там цифру аж в
1,6 с чем-то, что крайне много. И данная цифра конфликтует с другой настройкой в биосе — Intel C-State, которое ограничивает энергопотребление процессора, в моем случае, где-то до 1,3, таким образом я получал сильную нехватку напряжения, и из-за этого, собственно, и не мог загрузить винду. После отключения
Intel C-State, бсоды и глюки пропали, зато появились адские температуры на процессоре даже в режиме простоя, но с этим, хотя бы, уже можно работать. Неясно, почему у меня целый год все работало без видимых косяков, а потом вдруг перестало. Возможно, всему виной очередное животворящее обновление винды, или биоса, или драйверов чипсета, мы этого уже не узнаем. Но тот факт, что одна интеловская приблуда не в курсе, что делает другая, и биос как бы мешает сам себе разгонять проц, никак не информируя об этом юзера, само по себе неприятно и доверия не внушает. А самый умный совет по данному поводу, который я нашел в гугле, это выкинуть проц и купить новый. Ну, спасибо.
Вторая ее часть заключается в том, что Intel Turbo Boost это довольно тупая приблуда. Я сперва думал, что она рассчитывает оптимальные параметры разгона на основании каких то своих тестов, но нет. Она просто задирает значения частоты и напряжения в потолок, а потом пытается их ситуативно скручивать, чтобы проц не сгорел. Выглядит это так, что ты гордо смотришь на цифру в 5,7MHz в режиме простоя или в низконагруженных приложениях, но когда доходит до серьезной работы, начинается перегрев и троттлинг, и данная цифра может просесть, ну например, до 4,8MHz, ну и какой в этом смысл? А никакого. В низконагруженных ситуациях омг частота тебе не нужна, а в высоконагруженных тебе её не видать, если у тебя не супер-охлаждайка. Моя, например, слегка так себе, а функции типа «разогнать на полшишечки» не предусмотрено. Так что я пришел к выводу, что лучше руками выставить некое значение, которое будет стабильно держаться и не вызывать никаких фейлов. Алсо, как мы знаем из дошкольного курса физики, любой материал лучше переносит устойчивые нагрузки, чем постоянные перепады чего-либо, и кремний, из которого сделан проц, не исключение, так что в теории это также должно повысить и продолжительность его жизни.
В чем суть процесса?
Частота проца состоит из двух частей — базовой частоты, которая равняется 100MHz, и множителя. Так, процессор 3200MHz это по сути 100*32. В целях бытового, так сказать, любительского оверклокинга, предпочитают оперировать множителем, а базовую частоту вообще не трогать, и, наоборот, заблокировать на отметке 100, ибо она влияет на что-то, на что влиять нежелательно. Ну и ладно, не очень то и хотелось. Также на проц подается напряжение. Чем больше частота, тем больше напряжения требует проц, а чем больше напряжения на него подается, тем сильнее его перегрев. Собственно, разгон проца это нахождение тонкого равновесия между частотой, напряжением и температурой. Бывалые оверклокеры, конечно, могут это самое равновесие смещать в ту или иную сторону, по той или иной причине, но на бытовом уровне это чревато проблемами, так что лучше не надо.
Итак, что нам понадобится?
Во-первых, программа для мониторинга температуры и напряжения. Умные люди предложили мне HWiNFO64, и, в принципе, это нормальная тема. Во-вторых, программа для бенчмарков, то бишь тестирования процессора под нагрузкой. Умные люди предложили мне Cinebench, и, в принципе, это нормальная тема. В-третьих, второй комп, либо ноут/планшет/телефон, чтобы было с чего загуглить какие то ньюансы, пока основной комп занят, да и просто посмотреть кинчик, пока гоняются долгие бенчмарки. В четвертых, около суток свободного времени, а может и не одних, смотря насколько ты дотошный, ибо процесс отвратительным образом затягивает, всё кажется, что можно вот тут еще чутка подкрутить, и всё будет. Но это уже твоё дело.
С чего начать?
С нахождения всех нужных кнопок и подготовительных настроек, конечно же. В моём примере присутствует MSI биос, но, я уверен, в любом другом будут те же переменные с незначительными вариациями в названиях. Итак, включаем
Advanced режим, чтобы получить доступ к основным разделам, и идем в
Overclocking Settings. Там включаем
OC Explore Mode -> Expert, чтобы получить доступ ко всем переменным.
Fun fact: современные процы Intel состоят из двух частей, производительных ядер (P-Core) и энергоэффективных ядер (E-Core). Настраиваются они отдельно. Как нетрудно догадаться, производительные ядра занимаются высоконагруженными задачами, и ради них мы в первую очередь и занимаемся разгоном. Некоторые особо одаренные эксперты советуют вообще отключить энергоэффективные ядра, чтобы не мешались, но я люблю во что-то потыкать в фоновом режиме, потому не буду этого делать. У многих старых процов только один тип ядер, там вообще всё просто.
Так вот, настройки.- P-Core Ratio — множитель P-ядер, наша основная рабочая лошадка.
- Per P-Core Ratio Limit — возможность настроить множитель для каждого ядра в отдельности. Для самых упёртых, которым не лень возиться часами ради сотки мегагерц.
- E-Core Ratio и Per E-Core Ratio Limit то же самое для E-ядер
- CPU Ratio Mode, если не собираешься заниматься поядерным разгоном, поставь Fixed Mode, иначе оно всё равно само скинется в Dynamic
- Ring Ratio — частота кэша процессора, отвечает за скорость обмена данными между разными ядрами, а также с оперативкой. Некоторые одаренные советуют на неё вообще забить, но это враньё. Я попробовал, и при очень большой её разнице с частотой проца в играх начинались дикие фризы, так что я её поставил чуть меньше частоты P-ядер, и фризы пропали.
- CPU Base Clock — базовая частота, которую желательно зафиксировать на 100, так и сделаем
- Extreme Memory Profile(XMP) — разгон оперативки. Если уж настраивать стабильность системы, то с учетом разгона и оперативки тоже. В подробности я не вникал, работает и ладно, может, как-нибудь потом. Ниже есть раздел Voltage Settings, идем туда
- DigitALL Power — некая система, регулирующая напряжение в зависимости от нагрузки. Коль скоро я вознамерился полностью избавиться от влияния какой либо автоматики на мои значения, я выбрал «плоский» режим Mode 3.
- CPU Core Voltage Mode. Когда придет время менять напряжение, тут мы выставим Override Mode, что позволит нам жёстко задавать нужные значения в обход попыток компа их как-то подкрутить в свою пользу, а то он хитрый.
- CPU Core Voltage — напряжение ядра, наша вторая рабочая лошадка. Рядом находится то же самое для E-ядер.
Заходим в
Advanced CPU configuration. Тут нам надо включить
BCLK 100MHz Lock On и выключить
Intel C-State, я уже говорил, почему.
Long и Short duration Power Limit лучше поставить побольше, скажем,
4096W, что соответствует автоматическому профилю для водяной системы охлаждения. Данные настройки можно сохранить в
OC Profile, чтобы не выставлять их заново, если вдруг (ну бывает такое) нам придется сбросить биос.
1й этап — определение базовых настроек, от которых можно плясать.
Для начала посмотрим в спецификацию проца, чтобы выяснить предельно допустимые (для нубов, естественно, а мы кто?) значения. В моем случае
14900KF официально поддерживает частоту
5700 для P-ядер и
4400 для Е-ядер, их и выставляем.
Ring Ratio я нигде в секретных документах не нашел, так что его придется определять на глазок. Я слышал легенду, что оно должно быть где-то на 3 меньше, чем P-Ratio, но выставить его на 5400 без глюков у меня не получилось, так что для начала выставим ну, допустим,
4000, а там подкрутим.
Напряжение пока оставляем
Auto, нужно сперва чекнуть, сколько нам выделит автоматика. Поэтому грузимся в винду.
Запускаем
HWiNFO64 в режиме только датчики. Появляется таблица, в которой нас в первую очередь интересуют три вещи:
Core VIDs — потребность ядра в напряжении
VR VOUT — фактическое напряжение
Раздел с температурами и детектор троттлинга, ну тут все понятно. В режиме простоя температура может быть невысокой, но это ни о чем не говорит, мы же будем играть в игры, а значит нас больше интересует температура под нагрузкой, которую мы увидим, запустив бенчмарк.
Как мы видим, в нашем случае биос выделил нам напряжение ажно
1,4 с мелочью, что довольно много, но уже явно не 1,6, что как бы намекает нам, что Intel Turbo Boost работает крайне неоптимально по сравнению с ручным выставлением тех же самых частот. И при всем при этом, есть вероятность, что проц сможет работать в таком режиме и при еще более низком напряжении, скажем, 1,35, а то и 1,3, что значительно снизит его тепловыделение. Процы, даже в рамках одной серии, могут в этом плане различаться, и нужно экспериментировать, чтобы подобрать себе наилучшие настройки.
2й этап — грубая настройка
Наша задача — подобрать такое напряжение, при котором проц не будет набирать под нагрузкой 100 градусов и скатываться в троттлинг, занижая частоту. Если это происходит слишком часто, общая производительность становится даже ниже, чем у более дешевых неразогнанных процессоров, а нам такое не интересно, само собой. Проверь, чтобы никакие странные процессы не вылазили и не мешали бенчмарку. В моём случае постоянно вылазил какой то мусор с названием Microsoft Telemetry и забирал на себя все процессорные мощности, пришлось пойти выдрать его с корнем. Наша задача номер два — подобрать такую частоту, с которой проц будет стабильно работать под вышеуказанным напряжением. Тут многое зависит от состояния системы охлаждения. Так что убедись, что ты прочистил радиатор от пыли, залил свежий антифриз и намазал свежую термопасту, и всякое такое. Мы же будем исходить из того, что ты сделал все, что мог, и дальше работает сухая математика. Запускаем Cinebench и стартуем тест CPU(Multi Core), смотрим на значения температуры. В моём случае они тут же улетают в стратосферу, так что можно даже не смотреть, что будет дальше, а сразу идти в биос и скручивать напряжение.
Выбираем режим
Override для
Voltage mode и выставляем
CPU Core Voltage, ну скажем, в
1,3, то же самое мы выставляем и для
E-Core. Пробуем грузить винду. Не факт, однако, что получится. Если нехватка напряжения будет слишком большой, велика вероятность того, что проц нагрузку не вывезет и начнутся глюки разного рода. В процессе экспериментов мы непременно с ними столкнемся, но ничего страшного, убить проц пониженным напряжением нельзя. А вот повышенным можно. Потому выше определенных значений, указанных в спецификации, его повышать не стоит, и лучше понижать частоту. Если комп аварийно отключается с громким щелчком, или вообще не включается, значит нехватка напряжения очень большая, и нужно сильно снижать частоту, на гигагерц и более. В этом случае, возможно, придется сбросить биос. У «умных» оверклокерских материнок для этого есть кнопка возле USB-хаба, а если её нет, то придется дедовским способом доставать батарейку, хе-хе. Если вылетает BSOD при загрузке винды, то разница в нескольких сотнях мегагерц. Если BSOD появляется спустя какое то время в винде, или при запуске программ, значит разница буквально 100-200MHz. Так что наша задача-минимум это подобрать такие параметры, при которых можно загрузить винду и находиться в ней без BSODов.
В моем случае винда под напряжением 1,3 загрузилась, но вот при попытке запустить Cinebench повисла, так что, очевидно, я не могу себе позволить такую частоту проца, и придется её тоже скрутить. Уменьшая P-Core Ratio, так же уменьшаем и E-Core Ratio, чтобы разница между ними была где-то 1000-1500MHz. Ring Ratio пока не трогаем.
Методом научного тыка, я определил, что моя охлаждайка уверенно держит температуру в пределах сотки при напряжении не более
1,185, ходит по тонкому льду, так сказать, а проц под таким напряжением держит частоту не более
5100MHz. Обидно, досадно, но ладно, могло быть и хуже. Будем надеяться, что тебе повезло больше.
3й этап — точная настройка
Предыдущий этап самый простой в том плане, что не нужно ждать окончания 10минутного теста, косяки, если они есть, вылазят быстро, и можно отправляться в биос сразу и крутить значения. Конечно, бенчмарк есть бенчмарк, он всяко грузит систему сильнее, чем среднестатистическая игра, так что если за весь тест проц пару-тройку раз свалится в троттлинг, может, это и ничего страшного. Наверное, можно даже слегка завысить напряжение, найденное в предыдущем пункте, ради более высокой частоты, это уже ты смотри сам.
Энивей, добившись стабильной работы бенчмарка в течение сколько-нибудь продолжительного времени, можно заняться более точной подгонкой наших цифр. Если напряжение нас устраивает, оставляем его в покое, и пробуем на единичку увеличить
P-Core Ratio. Если мы уперлись в стену в том плане, что Cinebench отказывается нас пропускать с такой частотой, оставляем последнее рабочее значение, и начинаем тем же макаром крутить
E-Core Ratio. Если нам удалось разогнать E-Core Ratio до максимума под напряжением, аналогичным напряжению на P-Core, хорошо, значит можно скрутить с них лишнее напряжение, возможно, это даст нам чуть чуть свободы в плане температуры и позволит накинуть напряжения на P-Core ради лишней единички. В моем случае не дало, и E-Core остались на отметке 4200.
Финальным аккордом пробуем еще немного подкрутить
Ring Ratio, пытаясь приблизить его к отметке P-Ratio — 3, но, возможно, оно начнет глючить раньше. У меня оно осталось на отметке 4600, что, в принципе, хорошо.
Этот этап уже более продолжителен, так как косяки вылазят не сразу, и придется гонять продолжительные тесты в Cinebench. Проблема может вылезти буквально на последних секундах. В особо непонятных случаях желательно прогнать даже несколько тестов.
4й этап — сверхточная настройка.
На этом, в принципе, можно и забить, но если ты упертый и хочешь выдоить из проца по максимуму, у нас есть также возможность отдельно настроить множитель для каждого ядра. Одни ядра могут быть чуть более устойчивы, чем другие, так что это может иметь смысл. Для этого идем в
Per P-Core Ratio Limit и выбираем
Manual. В появившемся списке устанавливаем множитель каждого ядра аналогичный базовому. Затем повышаем базовый на единицу и начинаем также на единицу повышать частоты отдельных ядер и тестировать их. Если тест прошел, оставляем, если не прошел, возвращаем обратно и переходим к следующему. Если повезет, пару-тройку ядер получится разогнать выше остальных.
Таким же образом можно поступить и с
E-ядрами. На данном этапе очень важно как следует всё протестировать, так что заниматься этим стоит только если тебе ну совсем уж нечем заняться. Хе-хе.
Готово, ты восхитителен. Теперь твой проц не перегревается, не тупит, не тормозит и не жонглирует цифрами почем зря. Работает правда чутка похуже, чем в рекламных роликах, но пусть это будет нашим маленьким секретом.