Bitcoind reagiert nicht mehr über JSON-RPC, muss die ganze Zeit manuell neu gestartet werden

Ich führe Bitcoin auf AWS auf Ubuntu aus. Die Maschine hat 4 GB Speicher und freezeigt, dass ein Teil davon frei bleibt. Genügend Speicherplatz auch.

Dennoch muss ich Bitcoin ziemlich oft manuell neu starten, weil das Senden von JSON-RPC-Anfragen einen Zeitüberschreitungsfehler zurückgibt. Das heißt, zuerst funktionieren sie, aber dann nicht. Egal welche Art von Anfrage.

Ist jemand schon mal darauf gestoßen? Warum passiert das? Hat jemand eine plausible Theorie?

Welche Version von Bitcoin verwenden Sie? Ist die Blockchain auch eingeholt? (Sie können erkennen, in welchem ​​​​Block Sie sich befinden, indem Sie bitcoind getinfobzw. laufen bitcoin-cli getinfo)
Führt eine Erhöhung rpcthreadsdazu, dass das Problem aufhört?
Einige HTTP-Client-Software befasst sich nicht mit der dauerhaften Verbindungsfunktion, die Bitcoin bietet. Persistente Verbindungen sind in 0.10 wieder standardmäßig deaktiviert, können aber mit -rpckeepalive wieder aktiviert werden.

Antworten (2)

  1. Aktualisieren Sie auf die neueste stabile Version. Wir haben viel weniger Speicherlecks mit .10 auf Ubuntu gesehen
  2. Führen Sie einen Cron-Job aus, um ihn jede Nacht gegen 4:00 Uhr neu zu starten, wenn es am wenigsten Ransactions gibt. Dadurch wird das Speicherleck reduziert
  3. Stellen Sie sicher, dass Ihre Box mindestens 4 GB RAM und eine 2-GB-Swap-Partition hat.
  4. geben Sie uns hier weitere Informationen. wie Linux-Distribution, Maschinenstatistiken und welche Art von RPC-Aufrufen Sie häufig ausführen.

Ich habe beobachtet, dass, wenn der HTTP-Client, der die JSON-RPC-Anforderung sendet, keinen Connection: closeHeader sendet, der Bitcoin-RPC-Server nach einer Reihe von Aufrufen nicht mehr reagiert.

Tatsächlich scheint es einige Probleme mit bestimmten Clients und dauerhaften Verbindungen zu geben. 0.10 deaktiviert standardmäßig dauerhafte Verbindungen.