Перейти к публикации

Рекомендованные сообщения

И так, сегодня я расскажу о своем способе борьбы с вылетом программы cgminer и ей подобных (sgminer, vertminer), для тех, у кого ферма на Windows. Конечно, возможно, сейчас эта информация не является актуальной, т.к. майнить на видеокартах уже не выгодно. Но мало ли.

            Думаю, многие сталкивались с вот этой ошибкой:

 

680a7f906fc2.jpg

 

Решения, которые я встречал в интернете, не очень меня радовали. Некоторые ставили рестарт программы каждые несколько минут. Во-первых, зачем программу зря лишний раз дергать, во-вторых, а если программа затупит в первые же секунды запуска? Тогда будет простой до следующего рестарта.

Значит нужно, чтобы программа сама перезапускалась после вывода ошибки. Очень часто эта ошибка вылазиет после слета драйверов. Бывает и так, что драйвера не восстанавливаются без перезагрузки компьютера. Значит, с ними тоже нужно будет что-то делать.

И так, нам понадобится программа X-starter (http://www.xstarter.com/rus/)  и программа Devcon (http://www.raymond.pro/poleznye-programmy/skriptovanie/rabota-s-ustrojstvami-iz-komandnoj-stroki-devcon-exe-x64) .

X-starter – это что-то типа планировщика Windows, но с более широкими функциями. Да и удобнее по-моему.

Devcon мы будем использовать лишь для перезапуска драйверов видеокарт.

 

Теперь по порядку.  Начнем с того, что настройки программы cgminer я прописываю не в самом bat-файле, а в файле с расширением «.conf». Мне так удобнее, но вам так делать необязательно. Объясню немного лишь для того, чтобы не возникло недопониманий. Создаем conf-файл с любым именем, например cgminer.conf.  Настройки в conf-файле выглядят примерно так:

be29153f76bc.jpg

 

После этого в bat-файле нужно будет лишь написать следующее:

 

81ef54fbcf8f.jpg

 

 

Как я уже сказал, использовать conf-файл необязательно. Он лишь разгружает bat-файл от «лишних» строк.

Чтобы каждый раз после вылета программы не перезапускать драйвера видеокарты, предлагаю  настроить X-starter сразу на два случая:

  1. Когда программа выдает ошибку сама по себе;
  2. Когда программа выдает ошибку из-за слета драйверов.

1)  Качаем, устанавливаем x-starter. Запускаем. Жмем Файл->Настройки. Убедитесь, что у вас стоит запуск программы при запуске Windows. Жмем ОК.  На панеле вверху жмем «Задачи»->Новая задача. Смотрим скрин ниже.

0513ab22ddf3.jpg

 

Вместо «Задача1» можете написать любое угодное вам имя. Там где написано «Запустить задачу» выбираем «По событию», далее,  там где написано «Событие» выбираем Запуск/остановка процесса. Имя процесса пишем сами WerFault.exe

Из трех нижних пунктов ставим точку на «Запуск».

 

Далее, выбираем вкладку «Действия», жмем на зеленый плюсик наверху (добавить действие). Выбираем тип действия слева «Запуск программы» и указываем путь к нашему bat-файлу.

95f47c10ae62.jpg

 

Путь и имя bat-файла у вас, естественно, свои, не такие, как на скрине.

Жмем ОК.

 

Ну вот и все. Теперь, когда программа выдаст ошибку, X-starter запустит ваш бат-файл, который, в свою очередь перезапустит вашу программу.

 

 

2) Если все же необходимо перезапустить драйвера?

Для начала, вам нужно скачать программу Devcon. Устанавливать ее не надо. Кидаем единственный файл devcon.exe в папку с cgminer.exe.  Нам понадобится ID вашей видеокарты. Для этого правой кнопкой мыши щелкаем по Мой компьютер->Управление->Диспетчер устройств. Выбираем Видеоадаптеры. Щелкаем правой кнопкой по видиокарте->свойства->сведения. Вместо Описания устройства выбираем ID устройства.

Смотрим скриншот:

74c378ef2f96.jpg

 

Т.е., из скриншота мы видим, что имя нашей видеокарты будет VEN_1002*DEV_6798 (у вас будет другое, это имя моей видеокарты). Если у вас несколько видеокарт, то имя нужно будет выписать для каждой. Однако, если у вас видеокарты одной серии, то вероятно, этот ИД будет одинаков у всех, у меня именно так. Т.е., программа Devcon перезапускает по этому ИД сразу 2 моих видеокарты. Это, в принципе, даже удобно.

 

 

Создаем дополнительный батфайл. Назовем его, к примеру cgminerDriver.bat

Смотрим скрин:

04dba794af59.jpg

 

 

 

Создаем новую задачу в Xstarter:

02f972b46901.jpg

 

Там где написано «Запустить задачу» выбираем «По событию».

Где «Событие» выбираем «Событие NT».

Где «Источник» выбираем HardwareEvents.

Где «Тип события» -  Information.

Галочка на «Все типы событий».

Где «Сообщение содержит» пишем «видеодрайвер» (Если у вас, конечно, винда на русском. «Видеодрайвер» пишем без кавычек!)

 

 

Далее, выбираем вкладку «Действия», жмем на зеленый плюсик наверху (добавить действие). Выбираем тип действия слева «Запуск программы» и указываем путь к нашему НОВОМУ bat-файлу.

3e6a08f65a31.jpg

 

Путь и имя bat-файла у вас, естественно, свои, не такие, как на скрине.

Жмем ОК.

 

Если вдруг кто решит копейку подкинуть (мало ли):

 

Биток:1F4zKyzBFdaYnTJmCdrFog1LUzQodumdW

Лайток: LZqvv2W1MA7hgqbzuCeLQGPAd11eFgdr1a

Верт: VeAuDeHL5eeBksxZ89WWpThR6TSHtvrW9e

 

 

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

 

 

Значит нужно, чтобы программа сама перезапускалась после вывода ошибки.

 

Не самое лучшее решение. Например когда работают несколько видеокарт и одна из них отваливается, то никаких сообщений об ошибке не будет, просто снизится скорость майнинга. Вот если бы перезапуск cgminer привязать к скорости майнинга, например при падении скорости до определённого значения, делать перезапуск. Вот только как это реализовать я слабо представляю.

Итог - материал доработать и да, можно смело помещать в блог. :) 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Не самое лучшее решение. Например когда работают несколько видеокарт и одна из них отваливается, то никаких сообщений об ошибке не будет, просто снизится скорость майнинга. Вот если бы перезапуск cgminer привязать к скорости майнинга, например при падении скорости до определённого значения, делать перезапуск. Вот только как это реализовать я слабо представляю.

Итог - материал доработать и да, можно смело помещать в блог. :)

 

Если видеокарта отвалилась - значит проблема с дровами. Винда выводит сообщение, что видеодрайвер прекратил работу. Я этот случай рассмотрел под номером два. Тоесть, когда видеодрайвер вылетает, то запускается бат-файл, который запускает Девкон, который перезагружает драйвера, а затем перезагружается и сам майнер. Короче, вывод ошибки необязателен, чтобы механизм заработал.

Изменено пользователем stef2750

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
Если видеокарта отвалилась - значит проблема с дровами

...не обязательно.. И переразгон влияет и неверное значение ТС... и еще всякое бякое.. А вобще помню юзал одно время прогу nnCron-она тут в блоге подробно расписана.. https://forum.bits.media/index.php?/blog/28/entry-67-maining-bez-ostanovki/

Изменено пользователем Lion74

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть способ более красивый и простой
1) убираем сообщение об ошибке чтоб майнер просто закрывался после сбоя:

 

в реестре прописываем ключ "DontShowUI" типа DWORD равный "1" по адресу "HKEY_LOCAL_MACHINE - SOFTWARE - Microsoft - Windows - Windows Error Reporting".

 

2) затем в батник добавляем(то что подчёркнуто):

 

@echo off
:start

setx GPU_MAX_ALLOC_PERCENT 100
setx GPU_USE_SYNC_OBJECTS 1
cgminer --scrypt -o stratum+tcp://ftc.give-me-coins.com:3336 -u xxx -p xxx

goto start

 

и всё

проверено работает отлично, после ошибки майнер сам перезапускается стабильно

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

...не обязательно.. И переразгон влияет и неверное значение ТС... и еще всякое бякое.. А вобще помню юзал одно время прогу nnCron-она тут в блоге подробно расписана.. https://forum.bits.media/index.php?/blog/28/entry-67-maining-bez-ostanovki/

Так в том то и дело, что все это сводится к одному - вылету драйверов

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

есть способ более красивый и простой

1) убираем сообщение об ошибке чтоб майнер просто закрывался после сбоя:

 

в реестре прописываем ключ "DontShowUI" типа DWORD равный "1" по адресу "HKEY_LOCAL_MACHINE - SOFTWARE - Microsoft - Windows - Windows Error Reporting".

 

2) затем в батник добавляем(то что подчёркнуто):

 

@echo off

:start

setx GPU_MAX_ALLOC_PERCENT 100

setx GPU_USE_SYNC_OBJECTS 1

cgminer --scrypt -o stratum+tcp://ftc.give-me-coins.com:3336 -u xxx -p xxx

goto start

 

и всё

проверено работает отлично, после ошибки майнер сам перезапускается стабильно

Ну не все команды досовские так хорошо знают) Я вертелся как мог, и поделился результатами своих мучений с остальными) Если бы я твой способ раньше встретил, мне бы не пришлось столько мучаться) Но все равно, проблема с драйверами у тебя не решена. Может можно как-нибудь Devcon сюда впихнуть еще?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас

  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу.

×