Подбор core · mem · PL
Бот ищет смещение ядра, смещение памяти и лимит мощности. Каждая точка измеряется окном, при отвале точка становится границей, и риг перезагружается.
Бот сам подбирает разгон каждой карты NVIDIA на HiveOS (поддержка AMD готовится), проверяет его два часа, ведёт перезагрузки при отвалах и бережёт блок питания. Установка занимает несколько минут, остальное он делает сам.
Используя бота, вы принимаете условия и отказ от ответственности: разгон и перезагрузки несут риск для оборудования, и все последствия на вас.
Независимый проект: не связан с Hiveon и HiveOS, не одобрен и не спонсируется ими. HiveOS, NVIDIA, Telegram и другие названия принадлежат их владельцам и упомянуты только для описания совместимости.
Четыре шага. Бот меняет разгон и перезагружает риг: первые часы лучше быть рядом или хотя бы в Telegram.
Очистите разгон в панели (вкладка «Разгон» воркера), иначе Hive применит свой поверх бота. Отключите перезагрузку по хешрейту в Watchdog на время подбора: на тестовых точках хешрейт падает. Майнер должен работать и отдавать хешрейт.
Никаких файлов скачивать на свой компьютер и заливать на риг не нужно. Откройте Hive Shell рига (значок >_) и вставьте одну команду — она сама скачает бота, распакует и запустит мастер установки. Мастер сам найдёт карты, майнер и имя рига и спросит блок питания, цель подбора и данные Telegram.
cd /root && wget -qO ocbot.zip https://raw.githubusercontent.com/ocbotauto/ocbot-dist/main/ocbot.zip && unzip -qo ocbot.zip -d /root && cd /root/ocbot && bash install.shСразу после установки бот ничего не меняет в разгоне, пока не включена лицензия. Бесплатно и без карты — 3 дня на риг, один раз:
cd /root/ocbot && python3 -m ocbot --config config.json --trialКупили ключ на странице покупки? Активируйте его одной командой — никакой файл никуда копировать не нужно, подставьте свой ключ вместо OC-...:
cd /root/ocbot && python3 -m ocbot --config config.json --activate OC-XXXXX-XXXXX-XXXXX-XXXXXОдин ключ действует на один риг: для каждого рига свой ключ и своя активация.
Создайте бота у @BotFather, возьмите токен и узнайте свой числовой ID у @userinfobot. Мастер спросит их сам; позже их можно задать командой. Токен никому не отправляйте и в чат не вставляйте.
cd /root/hive-oc-bot && python3 -m ocbot --config config.json --telegram-set 'ТОКЕН' 123456789Подставьте свой токен и ID. Если Telegram недоступен с рига, см. «Если что-то не так».
Бот стартует примерно через минуту (пауза после загрузки) и пишет в Telegram о каждом шаге. Отправьте /status: там видно, чем занята каждая карта. Подбор разгона занимает несколько часов, после каждого найденного пресета идёт двухчасовая проверка.
systemctl status ocbot --no-pager | head -n 5; tail -n 10 /root/hive-oc-bot/ocbot.logЕсли Telegram не работает, состояние видно здесь.
Что бот делает с картой от первого запуска до рабочего пресета.
Бот ищет смещение ядра, смещение памяти и лимит мощности. Каждая точка измеряется окном, при отвале точка становится границей, и риг перезагружается.
Лучший найденный пресет работает под нагрузкой два часа. Не прошёл: берётся запасной, поиск идёт заново с увеличенным запасом.
efficiency: максимум хешрейта на ватт. compromise: максимум хешрейта, если эффективность не хуже лучшей на заданный допуск. hashrate: максимум хешрейта, мощность делится в рамках блока питания.
К смещениям добавляется фиксация частоты ядра и памяти. Включается для каждой карты отдельно и подбирается на готовом пресете. На цели hashrate с упором в блок питания фиксация обычно выигрыша не даёт, на efficiency и compromise даёт заметный. Для rgminer после фиксации бот поднимает оффсет ядра.
Карта упала на границе разгона: безопасный профиль и перезагрузка. Падает на мягких настройках: лесенка из перезагрузок, потом пометка карты suspect или faulty.
Сумма лимитов PL карт не выходит за бюджет блока. Для нескольких блоков можно задать, какие слоты на каком. Режим hashrate раздаёт лимит по потенциалу карт.
Карту можно указать номером слота, меткой или последними символами UUID: /card 3. Список всегда доступен по /help.
/statusСостояние всех карт и пресетов/cardПодробно по одной карте: /card 3/profilesГотовые пресеты/historyИстория карты: /history 3/slotsСтатистика по слотам/tableСводная таблица по ригу (максимум, минимум, лучшая эффективность), файл CSV/tuneПодбор заново для одной карты: /tune 3/newsearchНовый подбор: /newsearch 3 (одна карта) или /newsearch all (весь риг)/restoreВернуть прежний пресет без нового подбора: /restore 3 или /restore all/verifyДвухчасовая проверка карты: /verify 3/optimizeПодробный поиск лучшего вокруг готового пресета: /optimize 3, /optimize all, /optimize cancel/modeЦель подбора: efficiency, compromise, hashrate; для одной карты /mode 3 hashrate/paramsРежим карты: /params 3 4 (плюс фиксация частот ядра и памяти), /params all 4, /params 3 2/safeБезопасные настройки на карты/stopОстановить автоматику/resumeПродолжить автоматику/faultyПометить карту неисправной: /faulty 3 [off]/plЗамок мощности: /pl 3 150 или /pl 3 off/psuНагрузка на блок питания; сменить вводные: /psu 1400 1200 [база]/balanceРаспределение лимита PL: /balance (показать), /balance run (раздать), /balance deep (плотный перебор)/exportВыгрузить пресеты файлом/modelsКаталог лучших пресетов по моделям карт/modelПресеты одной модели: /model 3070/catalogФайл каталога для друзей (без UUID и имён ригов)/helpСписок командТо же самое без Telegram. Каждая команда запускается так, из папки бота:
cd /root/hive-oc-bot && python3 -m ocbot --config config.json --table--service install | поставить автозапуск и запустить; stop / start / restart / status / remove для управления |
--mode compromise --tolerance 3 | сменить цель: efficiency, compromise (допуск в %), hashrate; show покажет текущую |
--mode hashrate --card 3 | цель для одной карты; --mode rig вернёт её под общую |
--params all 4 | режим «4 параметра» (фиксация частот ядра и памяти); --params 3 2 вернёт два параметра |
--table | сводная таблица по ригу: максимум, минимум и лучшая эффективность каждой карты |
--restore 3 | вернуть прежний проверенный пресет карты без нового подбора (без аргумента: все карты) |
--optimize 3 | подробный поиск лучшего вокруг готового пресета; --opt-gain 2 задаёт порог выигрыша в % |
--balance show | как карты упираются в лимит блока питания; run раздаёт лимит, deep ищет плотнее |
--telegram-set 'ТОКЕН' 123456789 | записать токен бота и ваш Telegram ID (токен в чат не вставляйте) |
--telegram-proxy http://192.168.3.5:8080 | прокси для Telegram, если он недоступен напрямую; '' отключает |
--fix-external-gpus | карты в Thunderbolt не видны иксам: добавить AllowExternalGpus в скрипт Hive (затем reboot) |
--catalog 3070 | каталог лучших пресетов по моделям; --catalog-export / --catalog-import для обмена файлом |
--repair | исправить ложные отвалы, записанные при перезапуске бота (бота сначала остановить) |
--uninstall --yes | полностью удалить бота с рига; --keep-data оставит конфиги, базу и лог |
Конфиг, база и пресеты при обновлении не затрагиваются. Не обновляйте риг во время двухчасовой проверки: перезапуск бота её оборвёт.
cd /root/hive-oc-bot && python3 -m ocbot --config config.json --service stop && cd /root && wget -qO hive-oc-bot.zip https://github.com/makar2186/ocbot-dist/raw/main/hive-oc-bot.zip && unzip -qo hive-oc-bot.zip -d /root && cd /root/hive-oc-bot && python3 -m unittest discover -s tests > /tmp/t.log 2>&1 && tail -n 3 /tmp/t.log && python3 -m ocbot --config config.json --service installВ конце должно быть OK.
cd /root/hive-oc-bot && python3 -m ocbot --config config.json --service stopcd /root/hive-oc-bot && python3 -m ocbot --config config.json --service startПосле stop бот не запустится и после перезагрузки.
cd /root/hive-oc-bot && python3 -m ocbot --config config.json --uninstall --yesУберёт службу, автозапуск и папку. Чтобы оставить конфиги и базу, добавьте --keep-data.
Частые случаи и что с ними делать.
Подождите минуту: перед стартом стоит пауза. Потом проверьте службу и автозапуск.
systemctl status ocbot --no-pager | head -n 8; crontab -l | grep ocbotЕсли службы нет или она остановлена командой --service stop, выполните --service install.
Telegram может быть недоступен у провайдера. Укажите прокси, а состояние смотрите в логе, пока он не заработает.
cd /root/hive-oc-bot && python3 -m ocbot --config config.json --telegram-proxy http://192.168.3.5:8080cd /root/hive-oc-bot && python3 -m ocbot --config config.json --telegram-testБот не нашёл для неё стабильный пресет и остановил автоматику, чтобы не мучить карту. Проверьте питание, райзер и температуру, потом запустите подбор заново командой /tune 3.
Иксы по умолчанию отключают внешние карты (в /var/log/Xorg.0.log есть «external GPUs have not been enabled»). Бот умеет добавить нужный параметр в скрипт Hive. После этого перезагрузите риг.
cd /root/hive-oc-bot && python3 -m ocbot --config config.json --fix-external-gpusnvidia-smi -L | wc -l; DISPLAY=:0 nvidia-settings -q gpus | grep -c "\[gpu:"Два числа должны совпасть с числом карт.
При обновлении образа Hive скрипт перезаписывается: команду повторите.
Hive мог применить свой разгон поверх. Убедитесь, что в панели разгон очищен, и проверьте /status.
Условия использования. Прочитайте перед установкой.