XMRig — Guia completo
Rede
| Opção curta | Opção longa | Descrição | Versão |
|---|---|---|---|
| -o | --url=URL | URL do servidor de mineração | Todas |
| -a | --algo=ALGO | algoritmo de mineração | Todas |
| --coin=COIN | especificar a moeda em vez do algoritmo | 3.2.0+ | |
| -u | --user=USERNAME | nome de usuário para o servidor de mineração | Todas |
| -p | --pass=PASSWORD | senha para o servidor de mineração | Todas |
| -O | --userpass=U:P | par usuário:senha para o servidor de mineração | Todas |
| -x | --proxy=HOST:PORT | conectar por meio de um proxy SOCKS5 | 5.7.0+ |
| -k | --keepalive | enviar pacote keepalive para evitar timeout (requer suporte do pool) | Todas |
| --nicehash | ativar o suporte ao nicehash | Todas | |
| --rig-id=ID | identificador do rig para as estatísticas no pool (requer suporte do pool) | 2.6.1+ | |
| --tls | ativar o suporte a SSL/TLS (requer suporte do pool) | 2.8.0+ | |
| --tls-fingerprint=HEX | impressão digital (fingerprint) do certificado TLS do pool para fixação estrita do certificado | 2.8.0+ | |
| --dns-ipv6 | preferir registros IPv6 nas respostas de DNS | 6.11.0+ | |
| --dns-ttl=N | TTL de N segundos (padrão: 30) para o cache de DNS interno | 6.11.0+ | |
| --daemon | usar o RPC do daemon em vez do pool para mineração solo | 3.0.0+ | |
| --daemon-poll-interval=N | intervalo de consulta ao daemon em milissegundos (padrão: 1000) | 3.0.0+ | |
| --self-select=URL | selecionar por conta própria os templates de bloco a partir da URL | 4.4.0+ | |
| --submit-to-origin | enviar a solução também de volta para a URL do self-select | 6.9.0+ | |
| -r | --retries=N | número de tentativas antes de mudar para o servidor de reserva (padrão: 5) | Todas |
| -R | --retry-pause=N | pausa entre as tentativas (padrão: 5) | Todas |
| --user-agent | definir uma string de user-agent personalizada para o pool | 2.3.0+ | |
| --donate-level=N | nível de doação, padrão 1% (1 minuto a cada 100 minutos) | Todas | |
| --donate-over-proxy=N | controlar a doação por meio do recurso xmrig-proxy | 3.0.0+ |
Backend da CPU
| Opção curta | Opção longa | Descrição | Versão |
|---|---|---|---|
| --no-cpu | desativar o backend de mineração na CPU | 3.0.0+ | |
| -t | --threads=N | número de threads da CPU. Algumas otimizações exigem a afinidade de CPU correta. | Todas |
| --cpu-affinity=N | definir a afinidade do processo com núcleo(s) da CPU, máscara 0x3 para os núcleos 0 e 1 | Todas | |
| -v | --av=N | variação do algoritmo, 0 = seleção automática | Todas |
| --cpu-priority=N | definir a prioridade do processo (0 ociosa, 2 normal até 5 máxima) | 2.3.0+ | |
| --cpu-max-threads-hint=N | dica de número máximo de threads da CPU (em porcentagem) para a configuração automática | 4.2.0+ | |
| --cpu-memory-pool=N | número de páginas de 2 MB para o pool de memória persistente, -1 (auto), 0 (desativar) | 4.3.0+ | |
| --cpu-no-yield | priorizar o hashrate máximo em vez da resposta/estabilidade do sistema | 5.1.1+ | |
| --no-huge-pages | desativar o suporte a huge pages | 2.3.0+ | |
| --hugepage-size=N | tamanho personalizado de hugepage em kB (apenas Linux) | 2.8.1+ | |
| --huge-pages-jit | ativar o suporte a huge pages para o código JIT do RandomX | Todas | |
| --asm=ASM | otimizações ASM, valores possíveis: auto, none, intel, ryzen, bulldozer | 2.8.0+ | |
| --argon2-impl=IMPL | implementação do argon2: x86_64, SSE2, SSSE3, XOP, AVX2, AVX-512F | 6.3.1+ | |
| --randomx-init=N | número de threads para inicializar o dataset do RandomX | 3.0.0+ | |
| --randomx-no-numa | desativar o suporte a NUMA para o RandomX | 3.0.0+ | |
| --randomx-mode=MODE | modo do RandomX: auto, fast, light | 5.1.0+ | |
| --randomx-1gb-pages | usar hugepages de 1GB para o dataset do RandomX (apenas Linux) | 5.2.0+ | |
| --randomx-wrmsr=N | gravar valor(es) personalizado(s) nos registradores MSR ou desativar o MSR mod (-1) | 5.2.0+ | |
| --randomx-no-rdmsr | não restaurar os valores iniciais de MSR ao sair | 5.5.0+ | |
| --randomx-cache-qos | ativar o Cache QoS | 6.3.1+ |
Backend OpenCL
| Opção curta | Opção longa | Descrição | Versão |
|---|---|---|---|
| --opencl | ativar o backend de mineração OpenCL | 5.0.0+ | |
| --opencl-devices=N | lista de dispositivos OpenCL a usar, separados por vírgula | 5.0.0+ | |
| --opencl-platform=N | índice ou nome da plataforma OpenCL | 5.0.0+ | |
| --opencl-loader=PATH | caminho para o OpenCL-ICD-Loader (OpenCL.dll ou libOpenCL.so) | 5.0.0+ | |
| --opencl-no-cache | desativar o cache do OpenCL | 5.0.0+ | |
| --print-platforms | exibir as plataformas OpenCL disponíveis e sair | 5.0.0+ |
Backend CUDA
| Opção curta | Opção longa | Descrição | Versão |
|---|---|---|---|
| --cuda | ativar o backend de mineração CUDA | 5.0.0+ | |
| --cuda-loader=PATH | caminho para o plugin CUDA (xmrig-cuda.dll ou libxmrig-cuda.so) | 5.0.0+ | |
| --cuda-devices=N | lista de dispositivos CUDA a usar, separados por vírgula | 5.0.0+ | |
| --cuda-bfactor-hint=N | dica de bfactor para a configuração automática (0-12) | 5.0.1+ | |
| --cuda-bsleep-hint | dica de bsleep para a configuração automática | 5.0.1+ | |
| --no-nvml | desativar o suporte ao NVML (NVIDIA Management Library) | 5.0.0+ |
API
| Opção curta | Opção longa | Descrição | Versão |
|---|---|---|---|
| --api-worker-id=ID | worker-id personalizado para a API | 2.4.0+ | |
| --api-id=ID | ID de instância personalizado para a API | 2.4.0+ | |
| --http-host=HOST | host de escuta da API HTTP (padrão: 127.0.0.1) | 5.0.0+ | |
| --http-port=N | porta de escuta da API HTTP | 5.0.0+ | |
| --http-access-token=T | token de acesso para a API HTTP | 5.0.0+ | |
| --http-no-restricted | ativar o acesso remoto completo à API HTTP (somente se o token de acesso estiver definido) | 5.0.0+ |
Logs
| Opção curta | Opção longa | Descrição | Versão |
|---|---|---|---|
| -S | --syslog | usar o log do sistema para as mensagens de saída | Todas |
| -l | --log-file=FILE | gravar toda a saída em um arquivo de log | Todas |
| --print-time=N | exibir o relatório de hashrate a cada N segundos | Todas | |
| --health-print-time=N | exibir o relatório de saúde do equipamento a cada N segundos | 5.0.0+ | |
| --no-color | desativar a saída colorida | Todas | |
| --verbose | saída detalhada | 5.4.0+ |
Diversos
| Opção curta | Opção longa | Descrição | Versão |
|---|---|---|---|
| -c | --config=FILE | carregar um arquivo de configuração em formato JSON | Todas |
| -B | --background | executar o minerador em segundo plano | Todas |
| -V | --version | exibir as informações da versão e sair | Todas |
| -h | --help | exibir esta ajuda e sair | Todas |
| --dry-run | testar a configuração e sair | Todas | |
| --export-topology | exportar a topologia hwloc para um arquivo XML e sair | 3.0.0+ | |
| --title | definir um título personalizado para a janela do console | 6.0.1+ | |
| --no-title | não alterar o título da janela do console | 6.0.1+ | |
| --pause-on-battery | pausar a mineração quando estiver na bateria | 6.3.1+ | |
| --pause-on-active=N | pausar a mineração quando o usuário estiver ativo (retomar N segundos após a última atividade) | 6.9.0+ | |
| --stress | executar um teste de estresse contínuo para verificar a estabilidade do sistema | 6.4.0+ | |
| --bench=N | executar o benchmark; N pode ser de 1M a 10M | 6.4.0+ | |
| --submit | executar um benchmark online e enviar o resultado para compartilhar | 6.5.0+ | |
| --verify=ID | verificar um benchmark enviado pelo ID | 6.5.0+ | |
| --seed=SEED | seed personalizado do RandomX para o benchmark | 6.5.0+ | |
| --hash=HASH | comparar o resultado do benchmark com o hash especificado | 6.5.0+ | |
| --no-dmi | desativar a leitura de DMI/SMBIOS | 6.8.0+ |
Requisitos de memória
2080 MB por nó NUMA para o dataset; 1 nó NUMA geralmente equivale a 1 soquete de CPU, e o minerador mostra o número de nós na inicialização.
256 MB para o cache no primeiro nó NUMA.
256 KB de cache L2 e 2 MB de cache L3 por thread de mineração.
Os requisitos de cache da CPU são o principal motivo pelo qual o minerador não usa todas as threads na maioria das CPUs (uma pergunta muito comum). No Windows, 4GB de memória podem não ser suficientes para o sistema e o minerador.
Há várias formas de aumentar ou reduzir os requisitos de memória:
Huge pages de 1GB no Linux aumentam o requisito de memória para 3GB (3 páginas) por nó NUMA e aumentam o hashrate em 1-3%.
Desativar o suporte a NUMA com "numa": false no objeto "randomx" faz o minerador usar só 1 dataset, mas reduz bastante o hashrate; se você tiver só 1 nó NUMA, essa opção não tem efeito.
O modo light do RandomX reduz o requisito de memória para 256 MB, mas é muito lento; pode ser ativado com "mode": "light", no objeto "randomx".
Podem ser necessários vários canais de memória:
A memória DDR3 fica limitada a cerca de 1500-2000 H/s por canal (dependendo da frequência e dos timings)
A memória DDR4 fica limitada a cerca de 4000-6000 H/s por canal (dependendo da frequência e dos timings)
Huge Pages
As Huge Pages podem aumentar o desempenho do RandomX em até 50%; as huge pages de 1GB (apenas Linux) aumentam o hashrate em mais 1-3% além das huge pages comuns.
Hardware prefetchers MSR mod
É preciso desativar os hardware prefetchers para obter o desempenho ideal do RandomX.
Cache QoS
Recurso experimental que impede que os núcleos da CPU que não estão minerando acessem o cache L3, o que reduz a interferência na mineração.
