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 bitcoind
eine signifikante Menge an Ressourcen verbraucht wird, mit sshd
und top
an 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).
mmcqd
es sich nicht um einen Pi-spezifischen Prozess handelt, sondern für Linux im Allgemeinen existiert.Antworten:
mmcqd
ist 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
bitcoind
häufig nicht kritische Daten auf die Festplatte geschrieben werden, sollten Sie die Verwendungtmpfs
zum 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.
quelle
tmpfs
auf der SD-Karte zu arbeiten, anstatt direkt auf die SD-Karte zuzugreifen?tmpfs
befindet 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.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.
quelle