Was ist der mmcqd-Prozess?

13

Ich habe einen Raspberry Pi, auf dem Raspbian Wheezy kopflos ausgeführt wird, wobei alle Grafikprogramme deinstalliert sind.

Ich habe Bitcoind ausgeführt, die die meisten Ressourcen verbraucht. Wenn ich die Prozesse über überprüfe top, sehe ich normalerweise, dass nur bitcoindeine signifikante Menge an Ressourcen verbraucht wird, mit sshdund topan zweiter und dritter Stelle oder so.

Aus irgendeinem Grund beginnt derzeit ein neuer Prozess mit dem Aufrufen eines Spitzenwerts in der Ressourcennutzung mmcqd/0. In Spitzenzeiten verbraucht es oft bis zu 55% der CPU-Leistung und bleibt ansonsten konstant bei etwa 5%.

Was macht dieser Prozess?

Ich habe gelesen, dass dies möglicherweise durch eine langsame SD-Karte verursacht wird, habe aber meine Lese- / Schreibgeschwindigkeit getestet und für beide Geschwindigkeiten> 15 MB / s erhalten (ich habe eine 32-GB-SD-Karte der Klasse 10).

Steven Roose
quelle
Das Ausführen von Bitcoin-Mining auf der Himbeere würde niemals die Zeit abdecken, die Sie für die Installation aufgewendet haben.
Lenik
Die Tatsache, dass ich Bitcoind darauf ausführe, ist nur ein Hinweis darauf, dass E / A-Aufgaben ausgeführt werden. Außerdem benutze ich es nicht zum Bergbau. Der einzige Grund, warum diese Frage nicht zum Thema gehören könnte, ist, dass mmcqdes sich nicht um einen Pi-spezifischen Prozess handelt, sondern für Linux im Allgemeinen existiert.
Steven Roose
3
Mein Kommentar war ohne Thema, nicht deine Frage.
Lenik
gerade getestet - das Problem ist, dass Bitcoind den gesamten RAM auffrisst und dann mit dem Auslagern beginnt. Weitere 1 GB RAM für RaspberryPI benötigt: - /

Antworten:

10

mmcqdist ein Kernel-Thread, der für die Verwaltung von E / A-Vorgängen in der Warteschlange auf der SD-Karte zuständig ist. Eine hohe CPU-Auslastung dieses Prozesses weist auf einen Festplatten-E / A-Engpass hin.

Die tatsächliche sequentielle Lese- / Schreibgeschwindigkeit ist für SD-Karten nicht immer von Bedeutung. Der Direktzugriff ist typischer für ein Betriebssystem. Wenn Sie wissen, dass bitcoindhäufig nicht kritische Daten auf die Festplatte geschrieben werden, sollten Sie die Verwendung tmpfszum Speichern von Daten in Betracht ziehen . Anschließend können Sie mithilfe eines Cron-Jobs die Daten in tmpfs regelmäßig auf die Festplatte synchronisieren.

Sie können auch mit einer USB-Festplatte experimentieren, die mit (wahlfreiem) Schreibzugriff bessere Ergebnisse erzielen soll.

Lekensteyn
quelle
Was nützt es, tmpfsauf der SD-Karte zu arbeiten, anstatt direkt auf die SD-Karte zuzugreifen?
Steven Roose
2
tmpfsbefindet sich im RAM. Wenn ein Prozess ständig winzige Teile einer Datei ändert, kann es sich lohnen, diese Änderungen regelmäßig zu speichern. Grundsätzlich handeln Sie Datensicherheit gegen Leistung.
Lekensteyn
0

Ich hatte das gleiche Problem auf einem eingebetteten Linux-System, also nicht genau ein Himbeer-Pi, aber nicht zu weit weg.

In meinem Fall bestand das Problem einfach darin, dass die Festplatte voll war und ein Prozess versuchte, Protokolle zu schreiben. Ich glaube, dass die wiederholten Schreibfehler dazu geführt haben, dass mmcqd es mehrmals versucht hat und möglicherweise einen Thread in der Warteschleife gehalten hat.

Nach dem Entfernen einiger Protokolldateien war alles in Ordnung.

Marco
quelle