Деградировавший Raptor Lake: как ожил серверный i9-14900KF
Мне достался i9-14900KF, ужаренный в сервере. Такие процессоры уходят почти
даром и с понятной репутацией: считается, что деградировавший Raptor Lake —
это мусор, потому что кремний повреждён необратимо и лечению не подлежит.
Повреждён — да. Необратимо — да. Но «повреждён» не значит «повреждён целиком».
Я потратил три-четыре часа на диагностику и выяснил, что все ядра живы, а
сыпется кольцевая шина. Это принципиально другая история, потому что кольцо,
в отличие от ядер, можно просто опустить и запретить ему шевелиться.
С профилем ниже процессор и память проходят все стресс-тесты.
Стенд:
- i9-14900KF
- ASRock Z690 Taichi
- 32 ГБ DDR5-6800 CL32 (две плашки)
- RTX 3060
- Lian Li 240 — водянка на процессоре
Что вообще происходит с этими процессорами
Если у вас Core 13-го или 14-го поколения и он падает там, где раньше работал,
дело почти наверняка не в ваших руках.
Причина в микрокоде: при некоторых условиях процессор запрашивал избыточное
напряжение на холостом ходу и под слабой нагрузкой. Intel локализовал проблему
в цепи тактового дерева внутри ядра — она особенно чувствительна к старению от
высокого напряжения и температуры. Дальше начинается сдвиг Vmin: чипу для
стабильности требуется всё больше напряжения, и назад этот процесс не идёт.
Отсюда два факта, которые надо знать до того, как лезть в BIOS.
Микрокод лечит здоровых, а не больных. Обновление до 0x12B и следующих
останавливает деградацию у ещё не пострадавших экземпляров. Уже осыпавшийся
кремний оно не восстановит.
Если чип ваш и он на гарантии — идите по гарантии. Intel продлил её на два
года именно под этот дефект. Подбирать тайминги вместо бесплатной замены —
плохой размен.
Всё, что ниже, — для случая, когда гарантии нет по определению: процессор
куплен с рук, отработавшим своё в сервере. Терять нечего, а машина нужна.
Отдельно про Z690
Плата на Z690 добавляет два нюанса.
Микрокод зависит от вендора. Raptor Lake Refresh на Z690 работает только с
обновлённым BIOS, и исправления по Vmin приезжают туда позже, чем на Z790.
Прежде чем что-либо настраивать, обновитесь и проверьте ревизию микрокода —
HWiNFO64 показывает её в разделе о процессоре. Настраивать стабильность на
старом микрокоде бессмысленно: он продолжит доламывать чип у вас на глазах.
Разводка памяти на Z690 хуже. 6800 на двух плашках здесь — уже хороший
результат, и повышенное напряжение на контроллере памяти в профиле связано
именно с этим.
Как я нашёл виноватого
Искал методом исключения в AIDA64 — у неё в тесте стабильности нагрузки
включаются галочками по отдельности, и это ровно то, что нужно.
| Что запускал | Результат | Вывод |
|---|---|---|
| Ядра + кэш + память вместе | падает | что-то из трёх сломано |
| Только ядра | держит | ядра целы |
| Только память | падает | похоже на память |
| Память, сброшенная на базовые настройки | падает | память ни при чём |
| Только кэш | падает | остаётся кольцо |
| Понижаю частоту кольца — и всё заново | держит всё | виновник найден |
Ключевая строка здесь четвёртая. Тест памяти падал, и напрашивался вывод, что
дело в разгоне памяти, — я скинул её на базовые настройки, и она продолжила
падать. Значит, проблема не в модулях и не в таймингах, а раньше по пути.
Так и оказалось. Обращение к памяти идёт не напрямую: ядро отправляет запрос
через кольцо в срез кэша L3, при промахе снова через кольцо — в контроллер
памяти, и только оттуда в модули. Кольцо участвует в каждом обращении. Поэтому
повреждённая шина заваливает тест памяти, будучи совершенно ни при чём по части
самой памяти.
Это и есть ложный след, на который легко потратить вечер. Падает тест
памяти — виновата не обязательно память. Сбросьте её на дефолт: если падение
осталось, ищите выше по цепочке.
Дальше всё сошлось. Отдельный тест кэша падал сам по себе, а стоило опустить
частоту кольца — заработало разом всё: и кэш, и память, и комбинированный тест.
Одна причина на три симптома.
Отсюда и вся идея профиля: не дать кольцу разгоняться и не дать ему менять
частоту вообще.
Профиль
Процессор
| Параметр BIOS | Значение | Зачем |
|---|---|---|
| P-Core Ratio | 52 | производительные ядра |
| E-Core Ratio | 44 | 4,4 ГГц на энергоэффективных |
| CPU Cache Ratio | 40 | потолок кольца |
| Min Cache Ratio | 40 | нижняя граница равна верхней |
| CPU TjMAX | 90 | температурный предел вместо штатных 100 °C |
| Long Duration Power Limit | 283 Вт | долговременный лимит мощности |
| Short Duration Power Limit | 283 Вт | кратковременный лимит |
| CPU Core Current Limit | 360 А | предел по току |
Две строки здесь важнее всех остальных.
Cache Ratio опущен. Кольцо больше не пытается работать на штатной частоте —
это прямая плата за стабильность. В играх потери меньше, чем принято думать:
упирается всё обычно в другое. А случайные вылеты уходят полностью.
Min Cache Ratio равен максимальному. Вот это — ключ ко всему профилю, и он
не про частоту. Он про запрет переходов. Повреждённая цепь ломается чаще всего
не на конкретной частоте, а в момент её смены. Зафиксировав обе границы на
одном значении, мы убираем переходы как класс — и вместе с ними фризы, которые
иначе ловятся месяцами.
TjMAX 90 вместо 100. Процессор начнёт сбрасывать частоту на десять градусов
раньше. Штатный порог рассчитан на здоровый кремний, а старение разгоняется
именно температурой и напряжением — повреждённому чипу запас нужнее, чем
последние проценты производительности.
Здесь же оговорка про охлаждение. 283 Вт на 240-й водянке — нагрузка на
пределе её возможностей, и в тяжёлых сценариях процессор будет упираться в
температурный порог. С TjMAX 90 это происходит раньше. Для деградировавшего
чипа это скорее плюс: троттлинг здесь работает как страховка, а не как потеря.
Напряжения
| Параметр BIOS | Значение | Зачем |
|---|---|---|
| CPU Core/Cache Voltage | −10 мВ (Offset) | лёгкий андервольт смещением |
| CPU Core/Cache LLC | Level 3 | стабилизация просадок под нагрузкой |
| VCCIN_AUX Voltage | Level 3 | стабилизация вспомогательного питания |
| VDD_CPU | 1,146 В | базовое напряжение ядер |
| VDD_IMC | 1,350 В | питание контроллера памяти |
Андервольт на деградировавшем чипе выглядит контринтуитивно: ему же не хватает
напряжения, зачем убавлять?
Ответ в том, что убавляем смещением, а не фиксированным значением. Offset
сохраняет штатную кривую целиком: под нагрузкой напряжение остаётся высоким, а
в простое и на лёгких задачах становится ниже. То есть мы снимаем напряжение
ровно там, где микрокод его и завышал, — и заодно тормозим дальнейшее старение.
Десять милливольт — величина нарочито осторожная: агрессивный андервольт на
больном чипе даст обратный эффект.
LLC третьего уровня — компромисс. Жёсткие уровни ровнее держат напряжение под
нагрузкой, но добавляют выбросы при резком её сбросе, а выбросы повреждённому
кремнию противопоказаны.
Повышенное VDD_IMC — уступка памяти и разводке Z690, о которой выше.
Память DDR5-6800 CL32
| Группа | Параметр | Значение |
|---|---|---|
| Основное | XMP Profile | XMP 3.0 |
| Основное | DRAM Frequency | 6800 МГц |
| Первичные | tCL | 32 |
| Первичные | tRCD / tRCDW | 42 / 42 |
| Первичные | tRP | 42 |
| Первичные | tRAS | 52 |
| Первичные | Command Rate | 2 |
| Вторичные | tWR | 48 |
| Вторичные | tRFC2 | 440 |
| Вторичные | tRFCpb | 350 |
| Вторичные | tRRD_L / tRRD_S | 8 / 4 |
| Вторичные | tWTR_L / tWTR_S | 32 / 14 |
| Вторичные | tRTP | 12 |
| Вторичные | tFAW | 16 |
| Третичные | tREFI | 65535 |
Отдельно про tREFI = 65535. Это интервал регенерации ячеек, выставленный в
максимум: ячейки обновляются как можно реже, освобождая шину под полезную
работу. Прирост ощутимый, но настройка напрямую завязана на температуру — чем
горячее модули, тем быстрее ячейки теряют заряд.
Поэтому предупреждение стоит жирным: tREFI на максимуме стабилен строго при
обдуве модулей. Без вентилятора над памятью, летом или в глухом корпусе вы
получите ошибки, которые будут выглядеть как что угодно, только не как проблема
с памятью. Не готовы обеспечить обдув — верните tREFI на автомат. Это самая
безопасная строка для отката и первое, что стоит откатывать при непонятной
нестабильности.
Как проверять
Главное правило проверки — то же, что и при поиске: не запускайте всё сразу.
Комбинированный тест скажет только «что-то не так», а вам нужно знать, что
именно.
- По отдельности. Ядра, кэш, память — каждый тест сам по себе. Профиль
считается рабочим, когда проходит каждый из трёх, и только потом — все вместе. - Память отдельно и долго. TestMem5 или Karhu, не меньше часа. Ошибка от
агрессивного tREFI умеет вылезти на сороковой минуте, когда модули прогреются. - Журнал Windows на WHEA-ошибки. Они появляются раньше вылетов — самый
ранний сигнал, что профиль ещё не готов. - Комбинированный тест — последним, как подтверждение.
И одно на будущее: если после долгой стабильной работы система снова начнёт
сыпаться на памяти — первым делом проверьте не память, а кольцо. Деградация
продолжается, и следующий шаг лечения тот же самый: опустить Cache Ratio ещё на
одну ступень.
Коротко
Деградировавший Raptor Lake — не обязательно мусор. Ядра часто целы, а сыпется
кольцо, и это лечится: опустить его частоту, запретить ему менять её вообще,
снять лишнее напряжение смещением и опустить температурный порог.
Если процессор ваш и на гарантии — меняйте по гарантии, это честнее и дешевле.
Если он достался вам уже отработавшим смену в сервере — почините вот так и
пользуйтесь.
И сразу оговорка
Это не призыв идти за деградировавшим Raptor Lake на барахолку. Покупать заведомо
повреждённый процессор — так себе затея: сколько у него осталось, не знает никто,
и следующая ступень деградации придёт без предупреждения.
Статья для тех, у кого такой процессор уже есть — достался с рук, приехал в
сборке, отработал своё в сервере и попал к вам. Выбрасывать его рано. Скорее
всего, ядра целы, а кольцо можно опустить и зафиксировать — и машина проживёт
ещё долго.