XMRig – vollständige Anleitung
Netzwerk
| Kurze Option | Lange Option | Beschreibung | Version |
|---|---|---|---|
| -o | --url=URL | URL des Mining-Servers | Alle |
| -a | --algo=ALGO | Mining-Algorithmus | Alle |
| --coin=COIN | Coin statt Algorithmus angeben | 3.2.0+ | |
| -u | --user=USERNAME | Benutzername für den Mining-Server | Alle |
| -p | --pass=PASSWORD | Passwort für den Mining-Server | Alle |
| -O | --userpass=U:P | Paar Benutzername:Passwort für den Mining-Server | Alle |
| -x | --proxy=HOST:PORT | Verbindung über einen SOCKS5-Proxy | 5.7.0+ |
| -k | --keepalive | Keepalive-Pakete senden, um ein Timeout zu verhindern (erfordert Unterstützung durch den Pool) | Alle |
| --nicehash | Unterstützung für NiceHash aktivieren | Alle | |
| --rig-id=ID | Kennung des Rigs für die Statistik auf Pool-Seite (erfordert Unterstützung durch den Pool) | 2.6.1+ | |
| --tls | SSL/TLS-Unterstützung aktivieren (erfordert Unterstützung durch den Pool) | 2.8.0+ | |
| --tls-fingerprint=HEX | Fingerabdruck des TLS-Zertifikats des Pools für striktes Certificate Pinning | 2.8.0+ | |
| --dns-ipv6 | IPv6-Einträge in DNS-Antworten bevorzugen | 6.11.0+ | |
| --dns-ttl=N | TTL des internen DNS-Caches in N Sekunden (Standard: 30) | 6.11.0+ | |
| --daemon | für Solo-Mining Daemon-RPC statt eines Pools verwenden | 3.0.0+ | |
| --daemon-poll-interval=N | Abfrageintervall des Daemons in Millisekunden (Standard: 1000) | 3.0.0+ | |
| --self-select=URL | Block-Templates selbst von URL beziehen | 4.4.0+ | |
| --submit-to-origin | Lösung zusätzlich an die Self-Select-URL zurücksenden | 6.9.0+ | |
| -r | --retries=N | Anzahl der Wiederholungsversuche vor dem Wechsel zum Backup-Server (Standard: 5) | Alle |
| -R | --retry-pause=N | Pause zwischen den Wiederholungsversuchen (Standard: 5) | Alle |
| --user-agent | eigenen User-Agent-String für den Pool festlegen | 2.3.0+ | |
| --donate-level=N | Spendenanteil, Standard 1 % (1 Minute von 100 Minuten) | Alle | |
| --donate-over-proxy=N | Spenden über xmrig-proxy steuern | 3.0.0+ |
CPU-Backend
| Kurze Option | Lange Option | Beschreibung | Version |
|---|---|---|---|
| --no-cpu | CPU-Mining-Backend deaktivieren | 3.0.0+ | |
| -t | --threads=N | Anzahl der CPU-Threads. Für einige Optimierungen ist eine passende CPU-Affinität erforderlich. | Alle |
| --cpu-affinity=N | Prozessaffinität zu CPU-Kernen festlegen, Maske 0x3 für die Kerne 0 und 1 | Alle | |
| -v | --av=N | Variante des Algorithmus, 0 = automatische Auswahl | Alle |
| --cpu-priority=N | Prozesspriorität festlegen (0 Leerlauf, 2 normal bis 5 höchste) | 2.3.0+ | |
| --cpu-max-threads-hint=N | Hinweis für die Autokonfiguration: maximale Anzahl der CPU-Threads (in Prozent) | 4.2.0+ | |
| --cpu-memory-pool=N | Anzahl der 2-MB-Seiten für den persistenten Speicherpool, -1 (auto), 0 (deaktivieren) | 4.3.0+ | |
| --cpu-no-yield | maximale Hashrate statt Reaktionsfähigkeit/Stabilität des Systems bevorzugen | 5.1.1+ | |
| --no-huge-pages | Unterstützung für Huge Pages deaktivieren | 2.3.0+ | |
| --hugepage-size=N | eigene Huge-Page-Größe in kB (nur Linux) | 2.8.1+ | |
| --huge-pages-jit | Unterstützung für Huge Pages für den JIT-Code von RandomX aktivieren | Alle | |
| --asm=ASM | ASM-Optimierungen, mögliche Werte: auto, none, intel, ryzen, bulldozer | 2.8.0+ | |
| --argon2-impl=IMPL | Implementierung von argon2: x86_64, SSE2, SSSE3, XOP, AVX2, AVX-512F | 6.3.1+ | |
| --randomx-init=N | Anzahl der Threads zur Initialisierung des RandomX-Datasets | 3.0.0+ | |
| --randomx-no-numa | NUMA-Unterstützung für RandomX deaktivieren | 3.0.0+ | |
| --randomx-mode=MODE | RandomX-Modus: auto, fast, light | 5.1.0+ | |
| --randomx-1gb-pages | 1-GB-Huge-Pages für das RandomX-Dataset verwenden (nur Linux) | 5.2.0+ | |
| --randomx-wrmsr=N | eigene Werte in MSR-Register schreiben oder den MSR-Mod deaktivieren (-1) | 5.2.0+ | |
| --randomx-no-rdmsr | Wiederherstellen der ursprünglichen MSR-Werte beim Beenden deaktivieren | 5.5.0+ | |
| --randomx-cache-qos | Cache QoS aktivieren | 6.3.1+ |
OpenCL-Backend
| Kurze Option | Lange Option | Beschreibung | Version |
|---|---|---|---|
| --opencl | OpenCL-Mining-Backend aktivieren | 5.0.0+ | |
| --opencl-devices=N | durch Komma getrennte Liste der zu verwendenden OpenCL-Geräte | 5.0.0+ | |
| --opencl-platform=N | Index oder Name der OpenCL-Plattform | 5.0.0+ | |
| --opencl-loader=PATH | Pfad zum OpenCL-ICD-Loader (OpenCL.dll oder libOpenCL.so) | 5.0.0+ | |
| --opencl-no-cache | OpenCL-Cache deaktivieren | 5.0.0+ | |
| --print-platforms | verfügbare OpenCL-Plattformen ausgeben und beenden | 5.0.0+ |
CUDA-Backend
| Kurze Option | Lange Option | Beschreibung | Version |
|---|---|---|---|
| --cuda | CUDA-Mining-Backend aktivieren | 5.0.0+ | |
| --cuda-loader=PATH | Pfad zum CUDA-Plugin (xmrig-cuda.dll oder libxmrig-cuda.so) | 5.0.0+ | |
| --cuda-devices=N | durch Komma getrennte Liste der zu verwendenden CUDA-Geräte | 5.0.0+ | |
| --cuda-bfactor-hint=N | bfactor-Hinweis für die Autokonfiguration (0-12) | 5.0.1+ | |
| --cuda-bsleep-hint | bsleep-Hinweis für die Autokonfiguration | 5.0.1+ | |
| --no-nvml | Unterstützung für NVML (NVIDIA Management Library) deaktivieren | 5.0.0+ |
API
| Kurze Option | Lange Option | Beschreibung | Version |
|---|---|---|---|
| --api-worker-id=ID | eigene Worker-ID für die API | 2.4.0+ | |
| --api-id=ID | eigene Instanz-ID für die API | 2.4.0+ | |
| --http-host=HOST | Host, an den die HTTP-API gebunden wird (Standard: 127.0.0.1) | 5.0.0+ | |
| --http-port=N | Port, an den die HTTP-API gebunden wird | 5.0.0+ | |
| --http-access-token=T | Zugriffstoken für die HTTP-API | 5.0.0+ | |
| --http-no-restricted | vollen Fernzugriff auf die HTTP-API aktivieren (nur wenn ein Zugriffstoken gesetzt ist) | 5.0.0+ |
Logging
| Kurze Option | Lange Option | Beschreibung | Version |
|---|---|---|---|
| -S | --syslog | Systemprotokoll für Ausgabemeldungen verwenden | Alle |
| -l | --log-file=FILE | gesamte Ausgabe in eine Datei protokollieren | Alle |
| --print-time=N | alle N Sekunden einen Hashrate-Bericht ausgeben | Alle | |
| --health-print-time=N | alle N Sekunden einen Zustandsbericht ausgeben | 5.0.0+ | |
| --no-color | farbige Ausgabe deaktivieren | Alle | |
| --verbose | ausführliche Ausgabe | 5.4.0+ |
Sonstiges
| Kurze Option | Lange Option | Beschreibung | Version |
|---|---|---|---|
| -c | --config=FILE | Konfigurationsdatei im JSON-Format laden | Alle |
| -B | --background | den Miner im Hintergrund ausführen | Alle |
| -V | --version | Versionsinformationen ausgeben und beenden | Alle |
| -h | --help | diese Hilfe anzeigen und beenden | Alle |
| --dry-run | Konfiguration testen und beenden | Alle | |
| --export-topology | hwloc-Topologie in eine XML-Datei exportieren und beenden | 3.0.0+ | |
| --title | eigenen Titel für das Konsolenfenster festlegen | 6.0.1+ | |
| --no-title | Setzen des Konsolenfenstertitels deaktivieren | 6.0.1+ | |
| --pause-on-battery | Mining im Akkubetrieb pausieren | 6.3.1+ | |
| --pause-on-active=N | Mining pausieren, wenn der Nutzer aktiv ist (Fortsetzung N Sekunden nach der letzten Aktivität) | 6.9.0+ | |
| --stress | Dauer-Stresstest zur Prüfung der Systemstabilität ausführen | 6.4.0+ | |
| --bench=N | Benchmark ausführen, N kann zwischen 1M und 10M liegen | 6.4.0+ | |
| --submit | Online-Benchmark durchführen und das Ergebnis zum Teilen hochladen | 6.5.0+ | |
| --verify=ID | hochgeladenen Benchmark anhand der ID überprüfen | 6.5.0+ | |
| --seed=SEED | eigener RandomX-Seed für den Benchmark | 6.5.0+ | |
| --hash=HASH | Benchmark-Ergebnis mit dem angegebenen Hash vergleichen | 6.5.0+ | |
| --no-dmi | DMI/SMBIOS-Auslesen deaktivieren | 6.8.0+ |
Anforderungen an den Arbeitsspeicher
2080 MB pro NUMA-Knoten für das Dataset; 1 NUMA-Knoten entspricht in der Regel 1 CPU-Sockel, der Miner zeigt die Anzahl der Knoten beim Start an.
256 MB für den Cache auf dem ersten NUMA-Knoten.
256 KB L2-Cache und 2 MB L3-Cache pro Mining-Thread.
Die Anforderungen an den CPU-Cache sind der Hauptgrund, warum der Miner auf den meisten CPUs nicht alle Threads nutzt (eine sehr häufige Frage). Unter Windows reichen 4 GB Arbeitsspeicher möglicherweise nicht für System und Miner.
Es gibt mehrere Möglichkeiten, den Speicherbedarf zu erhöhen oder zu senken:
1-GB-Huge-Pages unter Linux erhöhen den Speicherbedarf auf 3 GB (3 Seiten) pro NUMA-Knoten und steigern die Hashrate um 1–3 %.
NUMA-Unterstützung mit "numa": false im Objekt "randomx" deaktivieren: Der Miner verwendet dann nur 1 Dataset, die Hashrate sinkt jedoch deutlich; bei nur 1 NUMA-Knoten hat diese Option keine Wirkung.
Der Light-Modus von RandomX senkt den Speicherbedarf auf 256 MB, ist aber sehr langsam; aktivieren lässt er sich mit "mode": "light" im Objekt "randomx".
Möglicherweise sind mehrere Speicherkanäle erforderlich:
DDR3-Speicher ist auf etwa 1500–2000 H/s pro Kanal begrenzt (abhängig von Frequenz und Timings)
DDR4-Speicher ist auf etwa 4000–6000 H/s pro Kanal begrenzt (abhängig von Frequenz und Timings)
Huge Pages
Huge Pages können die Leistung von RandomX um bis zu 50 % steigern; 1-GB-Huge-Pages (nur Linux) erhöhen die Hashrate zusätzlich um weitere 1–3 % gegenüber normalen Huge Pages.
MSR-Mod für Hardware-Prefetcher
Für optimale RandomX-Leistung müssen Sie die Hardware-Prefetcher deaktivieren.
Cache QoS
Experimentelle Funktion, die allen CPU-Kernen, die nicht minen, den Zugriff auf den L3-Cache verwehrt und so Störungen des Minings verringert.
