Kryptomining mit AMD-Prozessoren – ein How-To für Interessierte
Weitere praktische Parameter
Feintuning
Bisher haben wir die config.json so hingenommen wie xmrig sie beim ersten Start passend zur Hardware angelegt hat. Allerdings birgt sie aufgrund des Umfangs noch viel Raum für Optimierungsmöglichkeiten. Daher ein paar Beispiele:
Grundlegend kann man erstmal unter “background” einstellen, ob die Software im Vordergrund sichtbar im Fenster arbeiten soll oder headless ohne Fenster wenn man es nicht dauernd im Weg haben möchte. “colors” stellt ein, ob man, wie schon gesehen die Meldungen farbig haben möchte, um die Wichtigkeit schneller erfassen zu können oder nur in Weiß auf Schwarz. Mit “rdmsr” kann man entscheiden, ob die erwähnten MSR-Mods zur Leistungssteigerung angewendet werden sollen, mit “wrmsr”, ob sie beim Beenden des Miners wieder rückgängig gemacht werden sollen oder nicht.
Interessant ist auch der Parameter “priority”. Standardmäßig läuft xmrig mit Prozess-Priorität Normal. Wer nebenher an dem PC arbeitet, auf dem die Miningsoftware läuft, wird so jedoch bemerken, dass der PC nicht mehr so flink reagiert wie sonst. In diesem Fall ist hier statt null die Zahl 0 zu setzen. Dann läuft xmrig mit niedrigster Priorität. Wenn man den PC in Ruhe lässt, ist das nicht langsamer als Priorität Normal. Der Vorteil ist aber, dass der PC wesentlich flinker auf Benutzereingaben reagiert, da xmrig in diesem Fall zurückstecken muss.
Eine Spielwiese sind auch die Kern-Nutzungseinstellungen für die jeweiligen Algorithmen. So sehen wir z.B. beim Algo “Argon2”, dass die Software die Konfiguration so gesetzt hat, dass fix die Kerne 0, 1, 2, … durchgehend bis 15 genutzt werden. Hier kann man z.B. einen oder zwei Einträge entfernen, sodass nicht alle 16 Kerne der CPU verwendet werden, sondern z.B. nur 14. Auch das verbessert die Responsivität der Maschine wenn man gleichzeitig damit arbeitet, bei womöglich vernachlässigbarer Reduktion der Hashrate. Da lohnt es sich ein wenig zu tüfteln. Alternativ kann man statt den zu nutzenden Kernen 0, 1, 2, … auch ‑1, ‑1, ‑1, … schreiben. Wenn man das 16 Mal einträgt, werden auch 16 Threads gestartet, allerdings darf dann der Scheduler des Betriebssystems entscheiden, wo welcher Thread abgearbeitet wird. In Sachen Verschleiß ist das u.U. relevant bei jahrelanger Dauernutzung.
Praktisch sind auch zwei Parameter ganz unten in der config.json:
“pause-on-battery” bestimmt, ob der Miner pausieren soll sobald das Gerät vom Strom getrennt wird. Das ist sinnvoll bei Laptops, damit einem unterwegs nicht der Akku ausgeht wenn man vergessen hat den Miner zu beenden, ebenso wie bei Servern mit USV. Auch hier ergibt es Sinn, den Miner pausieren zu lassen wenn Strom ausfällt, damit die USV lang genug durchhält bis der Strom wieder da ist.
“pause-on-active” kennt man auch vom BOINC-Client. Hier pausiert der Miner, wenn eine Maus- oder Tastatureingabe erkannt wird, der User also gerade arbeitet an dem PC. Setzt man hier statt false z.B. die Zahl 10, wird der Miner pausiert bei Benutzer-Eingaben und erst 10 Sekunden, nachdem letztmals eine Eingabe erkannt wurde, wieder weitergerechnet.
Es sollte auch selbstverständlich sein, dass man so einen Coin-Miner nicht blind auf seine Hardware loslässt. Viele Geräte sind gar nicht dafür ausgelegt, unter Dauervolllast zu laufen, wie etwa Detachables oder Einsteiger-Laptops, aber auch Billig-PCs von der Stange. So sollte man wenigstens sicherstellen, dass die Temperaturen im grünen Bereich sind und es auch bleiben. Dazu kann das Tool HWMonitor verwendet werden.