Verwendet Bitcoin-QT im Leerlauf mehr CPU als während der Synchronisierung?

Ich führe den Standard-Client auf einer Micro-Amazon EC2-Instance aus. Wenn ich Bitcoin mit dem Netzwerk synchronisiere, verwendet es etwa 50 % der verfügbaren CPU. Nachdem es vollständig synchronisiert ist, lasse ich es in Ruhe und es dreht sich zu 100% von selbst hoch.

Was kann dazu führen, dass sich der Standardclient so verhält? Liegt es an einem möglicherweise hohen Transaktionsvolumen, dem Austausch von Informationen mit Kollegen oder vielleicht an etwas anderem?

Während der Synchronisierung, insbesondere auf virtueller Hardware, wird die meiste Zeit damit verbracht, auf E/A zu warten, nicht auf die Überprüfung. Dies wird sich wahrscheinlich in 0.8 ändern (LevelDB leistet bessere Arbeit beim Minimieren von E/A).
Wie viele Anschlüsse hat es? dh gibt es eine Gruppe von Gleichaltrigen, die von Ihnen abziehen? Ändert das Begrenzen auf nur 8 (dh Deaktivieren eingehender oder -maxconnections) das Verhalten?
@StephenGornick Anfangs dachte ich, es wären die Peers, aber ich habe meinen Port 8333 geschlossen und das tat es immer noch. Ich vermute, es könnte durch Bitcoin-Speicherlecks verursacht werden, die sich im Laufe der Zeit aufbauen, und Amazon, das die CPU-Zyklen für Mikroinstanzen begrenzt. Nach einem vollständigen Neustart des Systems scheint das Problem vorerst behoben zu sein.
Das Ausführen von bitcoin-qt 0.8.1 auf nicht virtualisierter Hardware und wenn es synchronisiert und ansonsten im Leerlauf ist, bindet immer noch alle CPUs, die es finden kann. Nicht gut.
Ich würde die bitcoin.conf erneut überprüfen, um zu sehen, ob sie die Zeile gen=0 (keine Münze erstellen) enthält, und sie hinzufügen, wenn sie nicht vorhanden ist, auf Null ändern, wenn sie vorhanden ist, und auf 1 setzen. Auf nicht virtuell und Ein virtueller (Windows-basierter virtueller PC), der ihn dort hatte und auf 0 setzte, ließ die CPU-Zyklen auf Leerlaufniveau fallen.

Antworten (1)

Nein, gemäß den Informationen zu kleinen und Mikroinstanzen unter diesem Link. http://docs.aws.amazon.com/AWSEC2/latest/UserGuide/concepts_micro_instances.html In Bitcoin.conf (der Bitcoin-Konfigurationsdatei) ist möglicherweise eine Option auf 1 gesetzt, um das Mining innerhalb der Client-Software zu aktivieren. Wenn Sie es auf „gen=1“ gesetzt haben, wird es versuchen, Münzen zu „generieren“ (meins allein), und das treibt die CPU-Auslastung in die Höhe. Außerdem sollte es gemäß den Diagrammen in diesem Link nicht auf eine 100-prozentige Nutzung "springen", jede Instanz sollte auf ein niedriges Nutzungsniveau für kleine und Mikro-Amazon EC2-Instanzen herunterfallen. Es können andere Programme auf Ihrer Amazon EC2-Instance laufen, die ebenfalls die CPU-Auslastung erhöhen können, daher empfehle ich, Ihre Dateien zu überprüfen, beginnend mit der Suche nach einer Instanz von Minerd ( cpu miner ) und deren Entfernung.