Настройка xmrig для процессора
При майнинге на процессоре продвинутые майнеры используют возможность тонкой настройки параметров вычислений путем установки параметра CPU Affinity. Это дает потенциальную возможность выиграть дополнительные 1-2 процента в хешрейте.
Некоторые не знают значение данного параметра и для чего он служит. Между тем, правильная установка CPU Affinity на майнинг ригах с достаточно мощными процессорами способна обеспечить небольшое увеличение хешрейта при майнинге на процессоре при сохранении необходимой для основного майнера и системы вычислительной мощности CPU.
Рассмотрим подробнее, что такое параметр CPU Affinity, как он влияет на распределение ресурсов процессора и производительность майнинга.
CpuMiner для Litecoin в Windows 10 (субтитры)
Запуск
Запускать программу можно и через бат файл:
Если вам не хочется майнить Monero / RandomX после форка на видеокартах, запустите xmr-stak-rx один раз перед форком и позвольте майнеру создать конфигурации amd.txt и / или nvidia.txt . Отредактируйте оба файла и установите "gpu_threads_conf": [ ], чтобы отключить видеокарты и оставить только процессор.
Внимание! Payment ID теперь указывать не нужно. Указывайте только адрес своего кошелька!
Получите кошелек на бирже криптовалют, либо установите холодный кошелек
Консоль майнера выглядит следующим образом:
В папке с программой вы найдете инструкцию на русском языке и пример бат файла и конфигурации:
CpuMiner - это программа для добычи криптовалют на процессоре. Программа поддерживает более 90 алгоритмов для майнинга.
ЦпуМайнер - это программа с открытым исходным кодом. Это означает, что каждый может посмотреть что она делает в системе, а так же внести свой вклад в разработку.
Этот софт разрабатывали несколько разработчиков: «TPruvot», «JayDDee» и «Rplant». Однако изначально придумали эту программу пользователи с никами «Lucasjones» и «Pooler».
Настройка для NiceHash
Вот батник для НайсХеш:
Настройка Raptoreum соло для процессора avx2
Альтернативы
Майнеры для процессора:
cpuminer-gr - это форк cpuminer-opt от разработчика с ником Джей Ди, который представляет собой форк cpuminer-multi с оптимизациями, импортированными из других майнеров.
Майнеры для видеокарт:
Как запустить майнинг RandomX?
-
и разархивируйте предварительно скомпилированные двоичные (.EXE) файлы в новую папку
- Измените параметр currency в pools.txt на "currency": "randomx",
пример конфигурации пулов
Что такое CPU Affinity и как этот параметр влияет на режим работы процессора?
CPU Affinity – это программная привязка (закрепление) к ядрам процессора определенных вычислительных процессов. Такая привязка отдает ресурс назначенного пользователем физического ядра процессора нужному сервису/программе (например, майнеру), минуя автоматические (неэффективные) алгоритмы, использующиеся операционной системой. Ручная установка параметра AFFINITY прекращает прыгание исполняемой программы по ядрам процессора, которое бесполезно расходует машинное время и кэш CPU.
Закрепление ядра CPU позволяет увеличить время работы процессора по выполнению задач выбранной программы, в том числе майнера и тем самым увеличить хешрейт.
При включенной по умолчанию технологии Hyper Threading (HT) число доступных ядер удваивается за счет виртуализации. В этом случае нужно задействовать только физические ядра (нужно включать affinity для нечетного номера соответствующего виртуального потока).
Шаг 2 - Настройте батник для Dogecoin
Вторым шагом будет настройка бат файла для майинга определенной криптовалюты.
Вот пример .bat-файла CpuMiner для пула tbdice:
Шаг 3 - Запустите CpuMiner
Третьим шагом будет двойной клик по созданному или отредактированному бат файлу. Тем самым мы запустим программу.
Релизы
Исправлено выделение памяти Verthash для страниц, не являющихся hugepages , неработающее в версии 3.19.3.
Новая опция stratum-keepalive предотвращает тайм-ауты stratum , когда нет найденных шар.
Исправлена ошибка отображения оптимизаций для некоторых алгоритмов.
- Linux: более быстрый verthash (+25%), scryptn2 (+2%), когда включена опция “HugePages”.
- Небольшое ускорение для Hamsi AVX2 и AVX512 , Keccak AVX512 .
- Исправлен журнал, отображающий некорректное использование памяти для scrypt , сломанный в v3.19.1.
- Уменьшен шум журнала, когда ответы на отправленные шары теряются из-за ошибок протокола stratum .
- Оптимизация прехеширования фуги для семейства X16r AVX2 и AVX512 .
- Небольшое улучшение скорости для Hamsi AVX2 и AVX512 .
- в сборках для ЦП с AVX или ниже группы ЦП отключены,
- zen3 build переименован в avx2-sha-vaessupport , Alderlakeа также Zen3 ,
- zen сборка переименована в avx2-sha , поддерживает Zen1 & Zen2 ,
- avx512-sha сборка удалена, Rocketlake процессоры могут использовать avx512-sha-vaes ,
- см. README.txt подробности совместимости.
- Исправлено несколько предупреждений компилятора, которые появились впервые в GCC 11 .
- Прочие мелкие исправления.
Решена проблема № 342. Исправлен Groestl AES в Windows, неработающий в v3.18.0.
AVX512 для sha256d .
SSE42 и AVX теперь могут отображаться как функции майнинга при запуске. Это жестко запрограммировано для каждого алгоритма и реализовано только для scrypt , поскольку это единственный алгоритм со значительными различиями в производительности с этими функциями.
Исправлена проблема, из-за которой алгоритм с высокой скоростью хеширования мог приводить к чрезмерным ошибкам в отчетах журнала скорости хеширования при запуске в режиме тестирования.
Больше скорости для scrypt :
- дополнительные оптимизации scryptn2 для всех архитектур ЦП,
- AVX2 теперь используется по умолчанию на CPUS с SHA, но не AVX512,
- scrypt: 1024 производительность, потерянная в v3.18.0, восстановлена,
- Улучшения AVX512 и AVX2 в scrypt: 1024.
- Большое ускорение для SwiFFTx AVX2 и SSE4.1: x22i + 55%, x25x + 22%.
Проблема № 337: исправлена проблема, из-за которой в первом сводном отчете могли отображаться отрицательные значения статистики, если отчет был принудительно принудительно выполнен преждевременно из-за изменения различий в stratum . Статистика по-прежнему будет недействительной, но в ней должны отображаться нули.
Полная перезапись кода Scrypt , оптимизированная для большого N-фактора ( scryptn2 ).
Дата изменения: 27.04.2022
Latest version is 5.5c
File: * , SHA256: 599393e258d8ba7b8f8633e20c651868258827d3a43a4d0712125bc487eabf92
(Download for Linux)
All CPU related settings contained in cpu and randomx objects in the config file, CPU backend allow specify multiple profiles and allow switching between them without restrictions by pool request or config change. Default auto-configuration creates a reasonable minimum of profiles which cover all supported algorithms. For example if you like to change threads count for RandomX algorithm you should edit profile rx in cpu object of the config file.
Example which demonstrate all primary ideas of flexible profiles configuration
- rx/wow exact match to rx/wow algorithm, defined 4 threads without CPU affinity.
- cn default failback profile for all cn/* algorithms, defined 2 threads with CPU affinity, another failback profiles is cn-lite , cn-heavy and rx .
- cn-pico alternative short object format.
- custom-profile custom user defined profile.
- * failback profile for all unhandled by other profiles algorithms.
- cn/r exact match, alias to profile custom-profile .
- cn/0 exact match, disabled algorithm.
Закрепление ядер за процессом штатными средствами Windows
В Windows закрепить ядра процессора за программой/сервисом можно с помощью диспетчера задач (ctrl+alt+del, задать сходство):
В открывшемся окне выбирают задействованные ядра (нужно выбирать одно физическое из пары реальное-виртуальное ядро):
Как запустить новый майнер CPUMINER-GR для добычи Raptoreum(RTM) на процессорах
Протестировал пару процессоров в ригах на хайве: pentium(R) CPU G4600 @ 3.60GHz 25 с потока и того 100h/s. celeron(R) CPU G1610 @ 2.60GHz так же 25 с потока и того 50h/s. Есть еще пара старых процессоров их трогать не стал. При этом хэшрейт эфира не падает, но падает количество найденых шар. Протестировал еще r5 2400g - странные показатели, хешрейт скачает от 0до 3500h/s .Средний по пулу за 2 часа 300h/s.
Значения cpu-affinity для Linux
В Linux ядра/потоки считаются по другому, ниже приводятся значения CPU affinity для Linux.
Таблица значений CPU affinity в соответствии с задействованными физическими ядрами процессора для Linux:
Физические ядра CPU (Cores)
Значение cpu-affinity для майнера xmrig
Пример настройки для Dogecoin
Так будет выглядеть готовый батник CpuMiner Doge на пуле dogeminingpool:
Просто замените DKs5E8nWJe2E5vYnVSoYqNjw2T17nGYUDo на адрес вашего собственного Dogecoin кошелька.
Если вы хотите понять как настроить все с нуля, то вам нужно поочередно ввести 5 команд:
Чтобы настроить батник для соло майнинга нам нужно запустить кошелек в режиме сервера с портом 9999 и ввести другие команды:
Здесь мы добавили --coinbase-addr - используется для соло майнинга.
Вы можете попробовать добавить разрешающий IP-адрес rpc для создания .conf . файла Чтобы разрешить соединения только из вашей локальной сети, вы можете указать свою подсеть в параметре rpcconnect. Вам также необходимо указать внутренний IP-адрес машины, к которой вы подключаете майнер, в rpcconnect. Затем запустите кошелек в режиме сервера и используйте IP-адрес кошелька, rpcuser, rpcpassword и rpcport в файле конфигурации майнера.
Алгоритмы
Шаг 1 - Скачайте майнер
Первым шагом вам необходимо загрузить программное обеспечение по этой ссылке. Здесь представлен релиз для Windows. Если вы ищите версию для Linux - вернитесь вверх статьи и откройте других авторов программы.
Что на практике дает включение опции CPU Affinity при майнинге?
Активация функции CPU Affinity при майнинге на процессоре дает прирост хешрейта до 3-4% на алгоритмах типа RandomX. На других algo прирост может быть более существенным.
Хешрейт без включенной опции CPU Affinity на 4 потоках процессора Intel I7-7700 при майнинге Safex на алгоритме RandomSFX составляет примерно 2500 h/s (Windows 8.1):
С включенным режимом CPU Affinity выдает хешрейт около 2620 h/s (на 4 процента больше):
Shared options
Options below contained in cpu object in the config file.
enabled true (boolean)
Enable or disable CPU mining backend.
huge-pages true (boolean, number)
huge-pages-jit false (boolean)
hw-aes null (boolean, null)
Force enable or disable hardware AES support. Default value null means miner autodetect this feature. Usually you don't need to change this option, this option is useful for some rare cases when XMRig can't detect hardware AES, but it is available. If you force enable this option, but your hardware does not support it, the miner will crash.
priority null (number, null)
Mining threads priority, value from 1 (lowest priority) to 5 (highest possible priority). Default value null means XMRig doesn't change threads priority at all. Setting priority higher than 2 can make your PC unresponsive.
memory-pool false (boolean, number)
Use continuous, persistent memory block for mining threads, useful for preserving huge pages allocation while algorithm switching. Possible values false (feature disabled, by default) or true or specific count of 2 MB huge pages. It helps to avoid loosing huge pages for scratchpads when RandomX dataset is updated and mining threads restart after 2-3 days of mining.
yield true (boolean)
Prefer system better system response/stability true (default value) or maximum hashrate false .
max-threads-hint 100 (number)
This option (was known as max-cpu-usage ) is the most confusing option in the miner with many myths and legends. This option is just a hint for automatic configuration and can't precisely define CPU usage.
- This option has no effect if the miner already generated CPU configuration, to prevent config generation use "autosave":false .
- Only threads count can be changed, for 1 core CPU this option has no effect, for 2 core CPU only 2 values possible 50% and 100%, for 4 cores: 25%, 50%, 75%, 100%. etc.
- Your CPU may be limited by other factors, e.g. cache.
asm true (boolean, string)
Enable/configure or disable assembly optimizations. Possible values: true , false , "intel" , "ryzen" , "bulldozer" .
argon2-impl null (string, null)
Allow override automatically detected Argon2 implementation, this option added mostly for debug purposes, default value null means autodetect. This is used in RandomX dataset initialization and also in some other mining algorithms. Other possible values: "x86_64" , "SSE2" , "SSSE3" , "XOP" , "AVX2" , "AVX-512F" . Manual selection has no safeguards - if your CPU doesn't support required instructions, the miner will crash.
astrobwt-max-size 550 (number)
astrobwt-avx2 false (boolean)
RandomX options
Options below contained in randomx object in the config file.
init -1 (number)
Thread count to initialize RandomX dataset. Auto-detect ( -1 ) or number of threads.
init-avx2 -1 (number)
Use AVX2 for dataset initialization. Faster on some CPUs. Auto-detect ( -1 ), disabled ( 0 ), always enabled on CPUs that support AVX2 ( 1 ).
mode "auto" (string)
RandomX mining mode: "auto" , "fast" (2 GB memory), "light" (256 MB memory).
1gb-pages false (boolean)
Use 1GB hugepages for RandomX dataset (Linux only). It gives 1-3% speedup.
rdmsr true (boolean)
Restore MSR register values to their original values on exit. Used together with wrmsr .
wrmsr true (boolean, number, array)
Enable or disable MSR mod. It gives up to 15% speedup depending on your system. For advanced values follow MSR documentation.
cache_qos false (boolean)
numa true (boolean)
Enable or disable NUMA support (better hashrate on multi-CPU servers and Ryzen Threadripper).
scratchpad_prefetch_mode 1 (number)
- Open with Desktop
- View raw
- Copy raw contents Copy raw contents
Copy raw contents
Copy raw contents
All CPU related settings contains in one cpu object in config file, CPU backend allow specify multiple profiles and allow switch between them without restrictions by pool request or config change. Default auto-configuration create reasonable minimum of profiles which cover all supported algorithms.
Example below demonstrate all primary ideas of flexible profiles configuration:
- "rx/wow" Exact match to algorithm rx/wow , defined 4 threads without CPU affinity.
- "cn" Default failback profile for all cn/* algorithms, defined 2 threads with CPU affinity, another failback profiles is cn-lite , cn-heavy and rx .
- "cn-lite" Default failback profile for all cn-lite/* algorithms, defined 2 double threads with CPU affinity.
- "cn-pico" Alternative short object format.
- "custom-profile" Custom user defined profile.
- "*" Failback profile for all unhandled by other profiles algorithms.
- "cn/r" Exact match, alias to profile custom-profile .
- "cn/0" Exact match, disabled algorithm.
Threads can be defined in 3 formats.
Each line represent one thread, first element is intensity, this option was known as low_power_mode , possible values is range from 1 to 5, second element is CPU affinity, special value -1 means no affinity.
Short array format
Each number represent one thread and means CPU affinity, this is default format for algorithm with maximum intensity 1, currently it all RandomX variants and cryptonight-gpu.
Short object format
Internal format, but can be user defined.
Thread count to initialize RandomX dataset. Auto-detect ( -1 ) or any number greater than 0 to use that many threads.
Use AVX2 for dataset initialization. Faster on some CPUs. Auto-detect ( -1 ), disabled ( 0 ), always enabled on CPUs that support AVX2 ( 1 ).
RandomX mining mode: auto , fast (2 GB memory), light (256 MB memory).
Use 1GB hugepages for RandomX dataset (Linux only). Enabled ( true ) or disabled ( false ). It gives 1-3% speedup.
MSR mod. Enabled ( true ) or disabled ( false ). It gives up to 15% speedup depending on your system. (Note: Userspace MSR writes are no longer enabled by default; the flag msr.allow_writes=on must be set for Linux Kernels 5.9 and after.)
Restore MSR register values to their original values on exit. Used together with wrmsr . Enabled ( true ) or disabled ( false ).
Cache QoS. Enabled ( true ) or disabled ( false ). It's useful when you can't or don't want to mine on all CPU cores to make mining hashrate more stable.
NUMA support (better hashrate on multi-CPU servers and Ryzen Threadripper 1xxx/2xxx). Enabled ( true ) or disabled ( false ).
Which instruction to use in RandomX loop to prefetch data from scratchpad. 1 is default and fastest in most cases. Can be off ( 0 ), prefetcht0 instruction ( 1 ), prefetchnta instruction ( 2 , a bit faster on Coffee Lake and a few other CPUs), mov instruction ( 3 ).
Enable ( true ) or disable ( false ) CPU backend, by default true .
Enable ( true ) or disable ( false ) huge pages support, by default true .
Enable ( true ) or disable ( false ) huge pages support for RandomX JIT code, by default false . It gives a very small boost on Ryzen CPUs, but hashrate is unstable between launches. Use with caution.
Force enable ( true ) or disable ( false ) hardware AES support. Default value null means miner autodetect this feature. Usually don't need change this option, this option useful for some rare cases when miner can't detect hardware AES, but it available. If you force enable this option, but your hardware not support it, miner will crash.
Mining threads priority, value from 1 (lowest priority) to 5 (highest possible priority). Default value null means miner don't change threads priority at all. Setting priority higher than 2 can make your PC unresponsive.
memory-pool (since v4.3.0)
Use continuous, persistent memory block for mining threads, useful for preserve huge pages allocation while algorithm switching. Possible values false (feature disabled, by default) or true or specific count of 2 MB huge pages. It helps to avoid loosing huge pages for scratchpads when RandomX dataset is updated and mining threads restart after a 2-3 days of mining.
yield (since v5.1.1)
Prefer system better system response/stability true (default value) or maximum hashrate false .
Enable/configure or disable ASM optimizations. Possible values: true , false , "intel" , "ryzen" , "bulldozer" .
argon2-impl (since v3.1.0)
Allow override automatically detected Argon2 implementation, this option added mostly for debug purposes, default value null means autodetect. This is used in RandomX dataset initialization and also in some other mining algorithms. Other possible values: "x86_64" , "SSE2" , "SSSE3" , "XOP" , "AVX2" , "AVX-512F" . Manual selection has no safe guards - if your CPU doesn't support required instuctions, miner will crash.
AstroBWT algorithm: skip hashes with large stage 2 size, default: 550 , min: 400 , max: 1200 . Optimal value depends on your CPU/GPU
AstroBWT algorithm: use AVX2 code. It's faster on some CPUs and slower on other
max-threads-hint (since v4.2.0)
Maximum CPU threads count (in percentage) hint for autoconfig. CPU_MAX_USAGE.md
Как на практике настроить параметр CPU Affinity для предоставления ресурсов процессора выбранным приложениям?
При настройке параметра CPU Affinity нужно выделать ресурсоемким приложениям физические, а не виртуальные ядра процессора. Например, при использовании процессора с двумя физическими и 4 виртуальными ядрами (0,1,2,3) нужно задействовать либо ядра 0, 2, либо 1 и 3
Для этого в батнике майнера для параметра cpuaffinity указывается маска с числовым значением, задающим номера ядер процессора, которые будут использоваться при проведении вычислений.
Эта опция будет полезна на практике только на достаточно производительных процессорах, у которых есть свободные мощности. На CPU с одним ядром и парой виртуальных потоков включение опции CPU Affinity ничего хорошего не даст.
Не стоит выделать майнеру все имеющиеся физические ядра при одновременном майнинге на видеокартах и выполнении других приложений на компьютере, так как это может привести к подвисаниям или уменьшению хешрейта на GPU.
В bat-файле майнера под Windows задействование 5 физических ядер из общего количества 6 реальных и 12 виртуальных будет выглядеть так:
Операционные системы Windows и Linux иногда по-разному нумеруют реальные и виртуальные ядра, поэтому для одинаковых процессоров значения CPU-affinity в этих системах могут быть разными.
Для удобства пользователя далее приведены значения аргумента cpu-affinity для Linux и Windows для вставки в батник xmrig в зависимости от количества использующихся физических ядер.
Таблица значений CPU affinity в соответствии с задействованными физическими ядрами процессора для Windows:
Физические ядра CPU
Чтобы посчитать значение аффинити для Windows для своей конфигурации задействования ядер, нужно использовать написать в бинарном виде включенные/выключенные ядра/потоки (единица означает включение ядра) с последующей конвертацией в шестнадцатиричный формат.
Generated profiles
Options below contained in cpu object in the config file.
All these options are generated for current CPU(s) and not portable for systems with different CPU(s). To prevent write generated profiles to config use global option "autosave": false .
argon2 (array)
Generated profile for Argon2 algorithms.
astrobwt (array)
Generated profile for AstroBWT algorithm.
cn (array)
Generated profile for all CryptoNight algorithms with 2 MB scratchpad size.
cn-heavy (array)
Generated profile for all CryptoNight-Heavy algorithms with 4 MB scratchpad size.
cn-lite (array)
Generated profile for all CryptoNight-Lite algorithms with 1 MB scratchpad size.
cn-pico (array)
Generated profile for all CryptoNight-Pico algorithms with 256 KB scratchpad size.
rx (array)
Generated profile for all RandomX algorithms with 2 MB scratchpad size.
rx/wow (array)
Generated profile for RandomWOW algorithm and also used for other RandomX algorithms with less than 2 MB scratchpad size.
cn/0 false (boolean)
Original CryptoNight algorithm disabled by default.
cn-lite/0 false (boolean)
Original CryptoNight-Lite algorithm disabled by default.
rx/arq "rx/wow" (string)
RandomARQ usually uses alias to rx/wow profile.
rx/keva "rx/wow" (string)
RandomKEVA usually uses alias to rx/wow profile.
Инструкция
Вам также может понравиться
Особенности протокола Handshake и майнинг криптовалюты HNS
Можно ли запустить майнинг на интегрированной видеокарте процессора Intel?
30 декабря, 2020
Краткое руководство о том, как добывать криптовалюту Monero:
- Шаг 1 – Получить адрес цифрового кошелька Monero (на бирже, либо установите холодный кошелек от Monero)
- Шаг 2 – Скачайте программу для майнинга
- Шаг 3 – Выберете майнинг пул для Monero
- Шаг 4 - Начните майнинг!
Уже есть несколько майнеров добывающих монеты на алгоритме RandomX, которые вы можете использовать уже сейчас:
Разработчики программы XMR-STAK выпустили начальную версию для поддержки алгоритма RandomX – программу xmr-stak-rx.
В новой версии нет никакой комиссии разработкам, вероятно ее добавят позже.
Этот выпуск поддерживает только различные варианты алгоритма RandomX.
Видео Гид (включите субтитры)
Майните на процессоре? Читайте про настройку Xmrig майнера и SRBMiner.
Вычисление значения cpu-affinity на примере процессора Intel Core i7-8700K (6/12 ядер/потоков)
Чтобы найти значение affinity для процессора Intel Core i7-8700K:
- Расписываем его 6 физических ядер (12 потоков) в двоичном (бинарном) виде. При этом включенные физические ядра процессора обозначаются единицей (например, каждое четное):
- Конвертируем бинарный код для выбранных ядер в 16-ричный формат в любом онлайн-калькуляторе:
- Значение cpu-affinity указывается в майнере в формате:
Полученное число 555 записываем в формате 0x555 и проставляем в батник майнера в качестве аргумента параметра cpu-affinity.
Пример батника для xmrig с использованием параметра cpu-affinity для задействованных 5 ядер:
Threads definition
Threads can be defined in 3 formats.
Array format
Each line represents one thread, the first element is intensity, this option was known as low_power_mode , possible value range from 1 to 5 , second element is CPU affinity, special value -1 means no affinity.
Short array format
Each number represents one thread and means CPU affinity, this is the default format for algorithms with maximum intensity 1, currently it is all RandomX variants, all Argon2 variants and AstroBWT.
Short object format
Internal format, but can be user defined.
Команды
--algo или короткий синоним этой команды -a - указывает алгоритм для майнинга (для примера: ‘ethash’, ‘mtp’, ‘kawpow’, ‘progpow’)
Важно! Используйте либо длинный синоним --algo либо короткий -a . Вместе и то и то использовать не нужно.
Далее команды будут указаны через запятую. Сначала короткий синоним, а затем длинны. Помните, что нужно использовать только один вариант.
-v, --version - Отобразить версию и выйти.
-c, --config \ - Использовать конфиг в формате JSON вместо батника (CMD файла).
Для запуска CpuMiner с конфигурационного файла config.txt введите в консоли: cpuminer-sse2.exe -c config.txt
Используйте файл config_example в качестве отправной точки для создания собственной конфигурации.
Читайте также: