XMRig — Guía completa
Red
| Opción corta | Opción larga | Descripción | Versión |
|---|---|---|---|
| -o | --url=URL | URL del servidor de minería | Todas |
| -a | --algo=ALGO | algoritmo de minería | Todas |
| --coin=COIN | indicar la moneda en lugar del algoritmo | 3.2.0+ | |
| -u | --user=USERNAME | nombre de usuario para el servidor de minería | Todas |
| -p | --pass=PASSWORD | contraseña para el servidor de minería | Todas |
| -O | --userpass=U:P | par usuario:contraseña para el servidor de minería | Todas |
| -x | --proxy=HOST:PORT | conectarse a través de un proxy SOCKS5 | 5.7.0+ |
| -k | --keepalive | enviar paquetes keepalive para evitar el timeout (requiere soporte del pool) | Todas |
| --nicehash | activar el soporte de NiceHash | Todas | |
| --rig-id=ID | identificador del rig para las estadísticas del pool (requiere soporte del pool) | 2.6.1+ | |
| --tls | activar el soporte de SSL/TLS (requiere soporte del pool) | 2.8.0+ | |
| --tls-fingerprint=HEX | huella digital del certificado TLS del pool para fijar el certificado de forma estricta (pinning) | 2.8.0+ | |
| --dns-ipv6 | preferir registros IPv6 en las respuestas DNS | 6.11.0+ | |
| --dns-ttl=N | TTL de N segundos (por defecto: 30) para la caché DNS interna | 6.11.0+ | |
| --daemon | usar el RPC del daemon en lugar del pool para minería en solitario | 3.0.0+ | |
| --daemon-poll-interval=N | intervalo de consulta al daemon en milisegundos (por defecto: 1000) | 3.0.0+ | |
| --self-select=URL | obtener plantillas de bloque (self-select) desde la URL | 4.4.0+ | |
| --submit-to-origin | enviar también la solución a la URL de self-select | 6.9.0+ | |
| -r | --retries=N | número de reintentos antes de cambiar al servidor de respaldo (por defecto: 5) | Todas |
| -R | --retry-pause=N | pausa entre reintentos (por defecto: 5) | Todas |
| --user-agent | establecer un user-agent personalizado para el pool | 2.3.0+ | |
| --donate-level=N | nivel de donación, por defecto 1% (1 minuto de cada 100) | Todas | |
| --donate-over-proxy=N | controlar la donación a través de xmrig-proxy | 3.0.0+ |
Backend de CPU
| Opción corta | Opción larga | Descripción | Versión |
|---|---|---|---|
| --no-cpu | desactivar el backend de minería con CPU | 3.0.0+ | |
| -t | --threads=N | número de hilos de la CPU. Algunas optimizaciones requieren una afinidad de CPU correcta. | Todas |
| --cpu-affinity=N | asignar la afinidad del proceso a núcleo(s) de la CPU; máscara 0x3 para los núcleos 0 y 1 | Todas | |
| -v | --av=N | variación del algoritmo, 0 = selección automática | Todas |
| --cpu-priority=N | prioridad del proceso (0 inactiva, 2 normal, hasta 5 la más alta) | 2.3.0+ | |
| --cpu-max-threads-hint=N | sugerencia de número máximo de hilos de CPU (en porcentaje) para la configuración automática | 4.2.0+ | |
| --cpu-memory-pool=N | número de páginas de 2 MB para el pool de memoria persistente, -1 (auto), 0 (desactivado) | 4.3.0+ | |
| --cpu-no-yield | priorizar el hashrate máximo sobre la respuesta/estabilidad del sistema | 5.1.1+ | |
| --no-huge-pages | desactivar el soporte de huge pages | 2.3.0+ | |
| --hugepage-size=N | tamaño personalizado de hugepage en kB (solo Linux) | 2.8.1+ | |
| --huge-pages-jit | activar huge pages para el código JIT de RandomX | Todas | |
| --asm=ASM | optimizaciones ASM, valores posibles: auto, none, intel, ryzen, bulldozer | 2.8.0+ | |
| --argon2-impl=IMPL | implementación de argon2: x86_64, SSE2, SSSE3, XOP, AVX2, AVX-512F | 6.3.1+ | |
| --randomx-init=N | número de hilos para inicializar el dataset de RandomX | 3.0.0+ | |
| --randomx-no-numa | desactivar el soporte NUMA para RandomX | 3.0.0+ | |
| --randomx-mode=MODE | modo de RandomX: auto, fast, light | 5.1.0+ | |
| --randomx-1gb-pages | usar hugepages de 1GB para el dataset de RandomX (solo Linux) | 5.2.0+ | |
| --randomx-wrmsr=N | escribir valor(es) personalizados en los registros MSR o desactivar el MSR mod (-1) | 5.2.0+ | |
| --randomx-no-rdmsr | no restaurar los valores MSR iniciales al salir | 5.5.0+ | |
| --randomx-cache-qos | activar Cache QoS | 6.3.1+ |
Backend de OpenCL
| Opción corta | Opción larga | Descripción | Versión |
|---|---|---|---|
| --opencl | activar el backend de minería OpenCL | 5.0.0+ | |
| --opencl-devices=N | lista de dispositivos OpenCL a usar, separados por comas | 5.0.0+ | |
| --opencl-platform=N | índice o nombre de la plataforma OpenCL | 5.0.0+ | |
| --opencl-loader=PATH | ruta a OpenCL-ICD-Loader (OpenCL.dll o libOpenCL.so) | 5.0.0+ | |
| --opencl-no-cache | desactivar la caché de OpenCL | 5.0.0+ | |
| --print-platforms | mostrar las plataformas OpenCL disponibles y salir | 5.0.0+ |
Backend de CUDA
| Opción corta | Opción larga | Descripción | Versión |
|---|---|---|---|
| --cuda | activar el backend de minería CUDA | 5.0.0+ | |
| --cuda-loader=PATH | ruta al plugin CUDA (xmrig-cuda.dll o libxmrig-cuda.so) | 5.0.0+ | |
| --cuda-devices=N | lista de dispositivos CUDA a usar, separados por comas | 5.0.0+ | |
| --cuda-bfactor-hint=N | sugerencia de bfactor para la configuración automática (0-12) | 5.0.1+ | |
| --cuda-bsleep-hint | sugerencia de bsleep para la configuración automática | 5.0.1+ | |
| --no-nvml | desactivar el soporte de NVML (NVIDIA Management Library) | 5.0.0+ |
API
| Opción corta | Opción larga | Descripción | Versión |
|---|---|---|---|
| --api-worker-id=ID | worker-id personalizado para la API | 2.4.0+ | |
| --api-id=ID | ID de instancia personalizado para la API | 2.4.0+ | |
| --http-host=HOST | host de escucha de la API HTTP (por defecto: 127.0.0.1) | 5.0.0+ | |
| --http-port=N | puerto de escucha de la API HTTP | 5.0.0+ | |
| --http-access-token=T | token de acceso para la API HTTP | 5.0.0+ | |
| --http-no-restricted | permitir acceso remoto completo a la API HTTP (solo si hay un token de acceso) | 5.0.0+ |
Registros (logs)
| Opción corta | Opción larga | Descripción | Versión |
|---|---|---|---|
| -S | --syslog | usar el log del sistema para los mensajes | Todas |
| -l | --log-file=FILE | guardar toda la salida en un archivo | Todas |
| --print-time=N | mostrar el informe de hashrate cada N segundos | Todas | |
| --health-print-time=N | mostrar el informe de estado del hardware cada N segundos | 5.0.0+ | |
| --no-color | desactivar la salida en color | Todas | |
| --verbose | salida detallada | 5.4.0+ |
Varios
| Opción corta | Opción larga | Descripción | Versión |
|---|---|---|---|
| -c | --config=FILE | cargar un archivo de configuración en formato JSON | Todas |
| -B | --background | ejecutar el minero en segundo plano | Todas |
| -V | --version | mostrar la versión y salir | Todas |
| -h | --help | mostrar esta ayuda y salir | Todas |
| --dry-run | probar la configuración y salir | Todas | |
| --export-topology | exportar la topología hwloc a un archivo XML y salir | 3.0.0+ | |
| --title | establecer un título personalizado para la ventana de la consola | 6.0.1+ | |
| --no-title | no cambiar el título de la ventana de la consola | 6.0.1+ | |
| --pause-on-battery | pausar la minería cuando el equipo funciona con batería | 6.3.1+ | |
| --pause-on-active=N | pausar la minería cuando el usuario está activo (se reanuda N segundos después de la última actividad) | 6.9.0+ | |
| --stress | ejecutar una prueba de estrés continua para comprobar la estabilidad del sistema | 6.4.0+ | |
| --bench=N | ejecutar un benchmark, N puede estar entre 1M y 10M | 6.4.0+ | |
| --submit | hacer un benchmark en línea y enviar el resultado para compartirlo | 6.5.0+ | |
| --verify=ID | verificar un benchmark enviado por su ID | 6.5.0+ | |
| --seed=SEED | seed de RandomX personalizado para el benchmark | 6.5.0+ | |
| --hash=HASH | comparar el resultado del benchmark con el hash indicado | 6.5.0+ | |
| --no-dmi | desactivar la lectura de DMI/SMBIOS | 6.8.0+ |
Requisitos de memoria
2080 MB por nodo NUMA para el dataset; 1 nodo NUMA suele equivaler a 1 socket de CPU. El minero muestra el número de nodos al iniciar.
256 MB para la caché en el primer nodo NUMA.
256 KB de caché L2 y 2 MB de caché L3 por cada hilo de minería.
Los requisitos de caché de la CPU son la razón principal por la que el minero no usa todos los hilos en la mayoría de las CPU (una pregunta muy frecuente). En Windows, 4GB de memoria pueden no ser suficientes para el sistema y el minero.
Hay varias formas de aumentar o reducir los requisitos de memoria:
Huge pages de 1GB en Linux: aumentan los requisitos de memoria a 3GB (3 páginas) por nodo NUMA y suben el hashrate en un 1-3%.
Desactivar el soporte NUMA con "numa": false en el objeto "randomx": el minero usará solo 1 dataset, pero el hashrate bajará bastante. Si solo tienes 1 nodo NUMA, esta opción no tiene efecto.
Modo light de RandomX: reduce los requisitos de memoria a 256 MB, pero es muy lento. Se activa con "mode": "light", en el objeto "randomx".
Puede que necesites varios canales de memoria:
La memoria DDR3 está limitada a unos 1500-2000 H/s por canal (según la frecuencia y los timings)
La memoria DDR4 está limitada a unos 4000-6000 H/s por canal (según la frecuencia y los timings)
Huge Pages
Las Huge Pages pueden aumentar el rendimiento de RandomX hasta un 50%. Las huge pages de 1GB (solo Linux) suben el hashrate otro 1-3% adicional respecto a las huge pages normales.
Hardware prefetchers MSR mod
Debes desactivar los prefetchers de hardware para obtener el rendimiento óptimo en RandomX.
Cache QoS
Función experimental que impide que los núcleos de la CPU que no están minando accedan a la caché L3, lo que reduce las interferencias con la minería.
