Bitcoind

比特幣同行的數量每 30 天左右急劇下降

  • June 18, 2020

我在 linux 機器上執行 bitcoind headless,maxconnections=256 和埠 8333 在路由器上打開。使用比特幣節點管理器,我偶爾會監控節點狀態。同行人數當然從 8 人開始,然後在三到四周的時間裡慢慢增加到 150 人左右。大約每個月左右,節點的數量都會急劇下降到不到 20 個,然後再次開始攀升。我可以通過日誌驗證 bitcoind 沒有重新啟動並且我的網路沒有關閉。我有一個僅在 TOR 上執行的第二個節點,雖然它沒有很多對等連接,但它的對等數不會以這種方式波動。

  1. 有沒有其他人注意到這一點?
  2. 有什麼想法可能導致這種情況嗎?
  3. 關於如何(或什至)我應該如何解決這個問題的任何提示?(即在日誌中尋找的東西)

在這個問題上做我自己的診斷。根據 Staticus出色的 Raspibolt指南,我在同一個樹莓派上執行了 bitcoind 和 lnd 。我編寫了以下腳本來記錄兩個守護程序的 cpu 使用情況、記憶體使用情況和 bitcoind 對等方的總數:

#!/bin/bash
echo \
"$(date +%D,%T),"\
"$(ps -U satoshi -o comm= -o %cpu= | grep bitcoind | awk '{print $2}'),"\
"$(ps -U satoshi -o comm= -o %mem= | grep bitcoind | awk '{print $2}'),"\
"$(ps -U satoshi -o comm= -o %cpu= | grep lnd | awk '{print $2}'),"\
"$(ps -U satoshi -o comm= -o %mem= | grep lnd | awk '{print $2}'),"\
"$(/usr/local/bin/bitcoin-cli -conf=/etc/bitcoin.conf getconnectioncount)" >> /home/satoshi/bitcoin_connections

我的問題可能只是允許與我的守護程序的連接過多。隨著對等點數量的增加,記憶體使用量也會增加。當它達到 130 多個對等點時,總系統記憶體使用率 > 80%。我的問題可能只是記憶體不足的問題。當我有更多結果時,我會編輯這篇文章。

編輯:

似乎當我達到大約 120-130 個對等點時,bitcoind 和 lnd 的組合記憶體使用量超過了我的 RPi 上 1 gig 的 60%,推動總記憶體使用量超過 90%。那時,對等點數下降。我認為隨著記憶體耗盡和其他同行放棄我的守護程序開始響應非常緩慢。我設置了 maxconnections=125 (預設)並且守護程序已經執行了數周而沒有問題。由於 125 是預設值,因此可以通過完全註釋掉 bitcoin.conf 中的 maxconnections 行來獲得相同的結果。

引用自:https://bitcoin.stackexchange.com/questions/95636