При 35 подключениях мой биткойн потребляет 581 МБ памяти, что составляет более половины всей моей памяти в VPS (всего 1024), и мне также нужна память для других служб, таких как apache2 и mysql на моем сервере. Могу ли я предпринять какие-либо шаги, чтобы ограничить ресурсы, используемые биткойндом, округлым числом до 256 Мб, не ограничивая при этом способность биткойнда функционировать должным образом? Я полагаю, я могу ограничить количество макс. Входящих / исходящих соединений в bitcoin.conf, но что тогда будет хорошим лимитом?
3 ответа
Bitcoind использует тонну памяти, пока загружает блокчейн. Проверьте, как правильно настроить пространство подкачки в Ubuntu:
https://www.digitalocean.com/community/tutorials/how-to-add-swap-on-ubuntu-14-04
Кроме того, вы можете проверить торрент-загрузку блокчейна. Пока вы доверяете файлу, это может помочь ускорить время загрузки блокчейна.
http://sourceforge.net/projects/bitcoin/files/Bitcoin/blockchain/bootstrap.dat.torrent/download
Вы можете настроить mysql и apache, чтобы использовать работу с гораздо меньшим количеством оперативной памяти, чем их значения по умолчанию, хотя это иная тема, и, очевидно, она может не быть опцией (основанной) на объеме вашего трафика и т. Д ...
... bitcoind
Интересно, что он подключен к такому количеству узлов, по умолчанию он только около 8 подключений в прошлый раз, когда я смотрел
Я бы предложил добавить это в ваш ~/.bitcoin/bitcoin.conf, чтобы хотя бы ограничить количество сессий:
MaxConnections = 8
(используйте больше, если вы хотите синхронизировать весь блокчейн (с нуля) быстрее, а затем уменьшите его, хотя я не уверен, как / если это повлияет на его след.)
У меня сейчас работает версия 80600, 8 подключений и работает (RSS) около 320M
Я думаю, что биткойн всегда будет нуждаться в большом количестве или оперативной памяти ... (https://github.com/bitcoin/bitcoin/issues/2485)...
Мне было бы интересно узнать, что можно узнать о сокращении памяти. Я сам начну исследовать это. (Я использую более 10 монет на сервере, который я размещаю, и мне просто пришлось увеличить его оперативную память до 4g, так как она менялась везде, так что было бы полезно знать)
На данный момент я предлагаю несколько настроек для mysqld и apache. Существует множество вариантов. Для mysqld проверьте mysqltuner.pl и начните сталкиваться с числами (множество обучающих программ там для этого, но я предлагаю небольшие изменения за один раз)
..это из сравнительно небольшого mysqld, который я запускаю на одной из своих виртуальных машин (Debian 6), сейчас он занимает около 128 МБ (но потенциально может достигать 164 МБ)..
пример:
[mysqld]
key_buffer = 16K
max_allowed_packet = 1M
table_cache = 4
sort_buffer_size = 64K
read_buffer_size = 256K
read_rnd_buffer_size = 256K
net_buffer_length = 2K
thread_stack = 64K
query_cache_limit = 1M
query_cache_size = 16M
[mysql]
[isamchk]
key_buffer = 8M
sort_buffer_size = 8M
^^ (Если mysqld может работать на Raspberry Pi, это может быть еще больше уменьшено)
... если у вас есть проблемы со стабильностью, я бы предложил по крайней мере создать файл подкачки и активировать его.
Файлы подкачки могут не подходить в зависимости от используемой виртуализации, но я полагаю, это лучше, чем сбои в работе.
Посмотрите на https://stackoverflow.com/questions/4983120/limit-memory-usage-for-a-single-linux-process
Я думаю, что softlimit как программа-обертка это то, что вам нужно использовать. Без проверки я не знаю, приведет ли это к обмену или просто убьет его.