Bitcoind (linux) Использование процессора через крышу

В основном я пытаюсь сохранить кошелек в Linux вместе со службой RPC, чтобы я мог получать монеты и периодически опрашивать сервер для транзакций.

Я пытаюсь использовать как 0.8.1, так и 0.8.5, и загрузка ЦП составляет 100%, запуская это на Amazon, и я получаю то же самое даже с экземпляром xlarge EC2. Это продолжалось более 24 часов, пришлось принудительно перезагрузить экземпляр, чтобы снова подключиться.

Он даже не настроен на генерацию монет. генер = 0

Я думаю, я хотел бы знать, если это навсегда, или ошибка, или что-то я делаю неправильно? Или, может быть, просто требуется некоторое время для «синхронизации» или того, что он делает, затем он вернется к «нормальному», и под нормальным я подразумеваю любой уровень использования ЦП, который не находится в диапазоне WTF и OMG.

Также пытался отправить себе 0,01-0,05 биткойнов, но они так и не сделали этого. Может быть, нужно время, чтобы появиться? Хотя блокчейн говорит, что указанные транзакции имеют более 100 подтверждений.

ТИА

Ответы (2)

Судя по вашему описанию, вы еще не синхронизировались с сетью. Прежде чем вы начнете делать что-то полезное, например, посмотреть свой текущий баланс, биткойн-клиент загружает всю цепочку блоков и проверяет ее. Это может занять довольно много времени и, вероятно, загрузит ваш процессор, пока не будет выполнено. Вы можете проверить ход синхронизации, выпустив bitcoind getinfoи проверив высоту блокчейна с помощью blockchain.info или аналогичного сайта.

Большое спасибо за подтверждение. Думал, может быть что-то в этом роде.

Изменить ~/.bitcoin/bitcoin.conf

daemon=1

к

daemon=0

И используйте эту утилиту cpulimit :

$ cpulimit -l 10 bitcoind

Таким образом вы устанавливаете биткойн на использование не более 10% ЦП:

$ cpulimit -h
CPUlimit version 1.7
Usage: cpulimit TARGET [OPTIONS...]
   TARGET must be exactly one of these:
      -p, --pid=N        pid of the process
      -e, --exe=FILE     name of the executable program file
                         The -e option only works when
                         cpulimit is run with admin rights.
      -P, --path=PATH    absolute path name of the
                         executable program file
   OPTIONS
      -b  --background   run in background
      -c  --cpu=N        override the detection of CPUs on the machine.
      -l, --limit=N      percentage of cpu allowed from 1 up.
                         Usually 1 - 400, but can be higher
                         on multi-core CPUs (mandatory)
      -v, --verbose      show control statistics
      -z, --lazy         exit if there is no suitable target process,
                         or if it dies
      -h, --help         display this help and exit

Посмотрите на этот вопрос:

Какие есть альтернативы загрузке цепочки блоков 6GB?