Viam supervadet vadens... Дорогу осилит идущий...
Снижение вольтажа на процессоре улучшает его тепловой режим работы, а также уменьшает нагрев зоны VRM на материнской плате.
Это увеличивает срок службы дорогостоящих компонентов и позволяет задействовать больше ядер CPU для майнинга в условиях, когда система охлаждения не имеет достаточной эффективности.
Кроме того, осознанный контроль за напряжением на процессоре вкупе с хорошей системой охлаждения дает возможность осуществлять дополнительный разгон, что может быть полезно оверклокерам.
В Windows для этих целей можно использовать утилиту Intel XTU (для CPU Intel). В операционной системе Linux можно использовать большой ассортимент утилит, среди которых программы intel-undervolt, undervolt, iuvolt, linux-intel-undervolt и другие.
Эти программы управляют напряжением и throttling-режимом на процессорах Intel Haswell/Crystal Well (четвертое поколение и более новых), использующих интегрированный voltage-контроллер (FIVR, Fully Integrated Voltage Regulator):
Как производится управление напряжением в процессорах Intel?
Современные процессоры Intel питаются вольтажом порядка 1.8 V, формирующимся импульсными фазами питания материнской платы из напряжения +12 вольт от блока питания компьютера. Затем FIVR контроллер, находящейся в корпусе процессора, формирует вольтаж, необходимый для ядер (VCCin to VCore), встроенной видеокарты, кэша и других компонентов CPU.
Упрощенное представление обеспечения питания в процессорах Intel с помощью FIVR-технологии:
Управление вольтажом производится с помощью импульсного понижающего преобразователя напряжения (1.8 V) в нужный вольтаж (в пределах от 0.6 до 1.1 V):
Контроллер FIVR-преобразователя процессоров Intel 4-5-го поколений работает на частоте 140 MHz. В нем используются миниатюрные электронные элементы, включая катушки индуктивности поверхностного монтажа:
Блок-схема понижающего преобразователя питания, встроенного в процессоры Intel, использующие технологию FIVR:
Расположение накопительных катушек индуктивности FIVR-фаз питания на LGA-процессорах Intel (например, на CPU в корпусе LGA 1150):
Как использовать утилиту intel-undervolt для снижения вольтажа на процессорах Intel?
Для undervolting-а процессора с помощью утилиты intel-undervolt в Linux-системах нужно произвести ее компиляцию из исходного кода командами:
git clone https://github.com/kitsunyan/intel-undervolt && cd intel-undervolt/ sudo apt install pkg-config sudo ./configure --enable-systemd --enable-openrc
make && sudo make install
sudo systemctl daemon-reload
По окончанию компиляции в каталоге с исходным кодом должны появиться утилита intel-undervolt и ее конфигурационный файл:
Применять программу intel-undervolt нужно в консольном режиме, используя синтаксис формата (команды прописываются в файле /etc/intel-undervolt.conf):
intel-undervolt РЕЖИМ [ОПЦИИ]...
Основные режимы, использующиеся при работе с программой intel-undervolt:
read - чтение и отображение текущих значений работы процессора; undervolt - применить значения из конфигурационного файла; measure - произвести измерение потребления энергии процессором; -f, --format <формат> - формат вывода (terminal, csv); -s, --sleep <интервал> - интервал сна в секундах; daemon - запустить программу intel-undervolt как службу.
Пример вывода информации программой intel-undervolt относительно состояния процессора при использовании команды
sudo intel-undervolt read
без применения каких-либо изменений:
после снижения вольтажа и допустимой критической температуры:
Программа intel-undervolt позволяет осуществлять управление напряжением на ядрах CPU, интегрированной видеокарте, кэше, System Agent и Analog I/O. Для понижения температуры/потребления достаточно уменьшить на 50-100 mV напряжения на CPU, GPU и CPU Cache.
Это делается путем прописывания нужных команд в конфигурационный файл intel-undervolt.conf, находящемся в одном каталоге с утилитой intel-undervolt:
undervolt ${index} ${display_name} ${undervolt_value}
где:
undervolt — команда применения настроек; ${display_name} — описание изменяемого параметра; ${index} — номер настройки, которую требуется изменить:
-
0 — CPU (центральный процессор);
-
1 — GPU (видео ядро);
-
2 — CPU Cache (CPU кэш);
-
3 — System Agent;
-
4 — Analog I/O;
${undervolt_value} — значение, на которое будет понижено напряжение в мВ.
Фрагмент содержимого конфигурационного файла /etc/intel-undervolt.conf, понижающего напряжение на CPU, интегрированном GPU и кэше CPU на 80 мВ, а также снижающего его максимальную критическую температуру (параметр tjoffset):
undervolt 0 'CPU Voltage' -80 undervolt 1 'Integrated GPU Voltage' -80 undervolt 2 'CPU Cache Voltage' -80 tjoffset -15 Это можно сделать в текстовом редакторе nano командой sudo nano /etc/intel-undervolt.conf
Примечание: некоторые процессоры не поддерживают снижение параметра tjoffset ниже -15 (появляется ошибка Failed to write temperature offset: Input/output error):
Настройки, заданные в конфигурационном файле, будут применены после выполнения команды
sudo intel-undervolt apply
Отработку команд утилиты intel-undervolt.conf можно прописать перед запуском CPU-майнера в начало скрипта его запуска.
Чтобы настройки андервольтинга применялись автоматически, нужно включить службу intel-undervolt.service командой (это следует делать только после тестирования стабильности работы компьютера на заданных установках):
sudo systemctl enable intel-undervolt
ее отключение выполняется командой
sudo systemctl stop intel-undervolt
запустить вручную службу intel-undervolt.service можно командой
sudo systemctl start intel-undervolt
До использования утилиты температура процессора Intel Core i5-4590 @ 3.30GHz при майнинге на двух потоках равнялась 53-62 градусам по Цельсию. При включении программы intel-undervolt процессор стал работать на этой же температуре уже на трех потоках майнинга, что позволило увеличить хешрейт на 30-40%.