Майнинг

Мониторинг критических параметров устройств при майнинге в ubuntu

При майнинге на видеокартах и процессоре важно контролировать и управлять ключевыми параметрами их состояния. К ним относятся:

  • температура ядра и памяти;
  • напряжение на ядре и памяти/контроллере памяти;
  • частота ядра GPU и видеопамяти;
  • потребление мощности видеокартой;
  • скорость вращения вентиляторов системы охлаждения GPU;
  • тайминги видеопамяти.

При работе в ubuntu часто возникает вопрос о том, какие программы можно использовать для контроля критических параметров состояния видеокарт и остальных устройств на компьютере?

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

Обзор популярных утилит для мониторинга железа в Linux

В интернете можно найти множество бесплатных программ для мониторинга датчиков компьютера под linux, среди которых:

  1. HTOP — одно из лучших консольных приложений, мониторит и позволяет закрывать процессы нажатием кнопки F9 или k (kill), показывает загрузку CPU, RAM, виртуальную память. Не показывает информации о сети, GPU и температуре CPU;
  2. Glances — программа работает удаленно через SSH, позволяет отслеживать запущенные процессы, загрузку CPU, RAM, виртуальную память, работу сети, операции I/O. Из-за того, что Glances написана на Python, потребляет слишком много ресурсов процессора, нет информации о GPU и температуре CPU;
  3. Conky — красивая оболочка с инфо о CPU (в том числе загрузке и температуре), RAM, SWAP, HDD. Нет данных о видеокартах;
  4. Stacer — утилита для мониторинга и очистки системы, работы с меню автозагрузки и службами. Нет информации о GPU;

Меню автоматической очистки системы в Stacer:

  1. netdata — мониторинг через браузер состояния CPU, RAM, SWAP, HDD. Нет SSH, данных о видеокартах;
  2. KsysGuard — мониторинг и работа с процессами, вывод инфо о состоянии CPU, RAM, загрузке системы;
  3. GNOME System Monitor — мониторинг CPU, RAM, SWAP, HDD, сети. Нет SSH, данных о видеокартах;
  4. GkrellM — виджет с информацией о CPU, его напряжении и вентиляторах, HDD. Нет данных о видеокартах;
  5. CoreFreq — очень подробная информация только о процессоре;
  6. nmon — мониторинг CPU, RAM, SWAP, HDD, сети. Нет SSH, данных о видеокартах;
  7. vtop — урезанная копия htop;
  8. atop — мониторинг процессов, CPU, RAM, SWAP, HDD, сети. Нет данных о GPU;
  9. lm-sensors — позволяет отслеживать загрузку и температуру процессора, скорость вентилятора кулера CPU. В дополнение к ней желательно использовать hddtemp и psensor;
  10. Psensor — утилита, отображающая информацию о температуре материнской платы и процессора (и его загрузке), старых видеокарт AMD (в которых используется ATI драйвер Catalyst), HDD, вентиляторах;
  11. Hardinfo — хорошая утилита для мониторинга железа под Linux, но безнадежно устаревшая (последний релиз — от 2009 года);
  12. Open Hardware Monitor — утилита, предоставляющая информацию о материнской плате, напряжении на процессоре, его температуре, вентиляторах, HDD, а также о видеокартах AMD, Nvidia. Программа изначально предназначена для Windows, для работы в Linux требуется Mono with WinForms и танцы с бубном. Последняя версия выпущена в ноябре 2016 года, поэтому на новом железе работоспособность не гарантируется.

Наиболее оптимальные из них для мониторинга, это: lm-sensors, Psensor, Hardinfo.

Среди этих программ нет утилит, предоставляющих данные о состоянии графической подсистемы компьютера.

Для видеокарт можно использовать следующие утилиты:

  1. Nvidia-SMI — входит в комплект драйверов Nvidia. Команда watch nvidia-sm позволяет отслеживать загрузку, температуру, состояние памяти, потребление, скорость вращения вентиляторов видеокарт производства компании Nvidia;
  2. TuxClocker — overclocking-утилита с графическим интерфейсом для разгона видеокарт Nvidia (от 600-й серии) и AMD при работе с драйверами amdgpu (все AMD карты до Radeon VII исключительно). Использует возможности Nvidia-SMI и nvidia-settings;
  3. GreenWithEnvy — Nvidia;
  4. WattmanGTK — AMD;
  5. Rocm-smi (утилита из пакета драйверов Rocm) — AMD;
  6. Radeon-profile — AMD.

Рассмотрим подробнее порядок установки и использования для майнинга лучших из этих приложений на рабочей станции под управлением операционной системы xubuntu 16.04.

Изучение информации об уставленном аппаратном обеспечении утилитами lm-sensors и psensor

Для проверки состояния сенсоров компьютера можно использовать утилиту lm-sensors, которая устанавливается командой:

sudo apt install lm-sensors

Проверка работоспособности утилиты lm-sensors осуществляется в терминале командой:

sudo sensors-detect

В результате ее выполнения появится информация о материнской плате, ядре установленной системы, процессоре. Кроме того, lm-sensors предложит провести сканирование на предмет наличия других сенсоров в системе:

При положительном ответе на этот вопрос (необходимо нажать латинскую букву «y» и ввод) появится информация о дополнительных сенсорах, обнаруженных в системе и будет предложено провести проверку наличия сенсоров в чипах устройств ввода-вывода:

Далее программа последовательно предложит провести сканирование интерфейсов IPMI (интеллектуальный интерфейс управления платформой), порты ISA, а также адаптеров I2C/SMBus, сенсоров процессора и других устройств. На все эти предложения можно отвечать да. Сканирование может занять несколько десятков минут. По его завершению появится информация такого вида:

Здесь lm-sensors предлагает записать данные о доступных сенсорах в файл etc/modules. Проще всего согласиться с предложением модифицировать этот файл.

Теперь, при вводе команды:

sensors

будет отображаться текущая информация от сенсоров GPU и CPU:

Для более полного вывода информации об установленном железе, включая температуру жесткого диска/SSD, нужно доставить утилиты hddtemp и psensor, которые устанавливаются командой:

sudo apt install hddtemp psensor

Теперь уже можно запустить GUI-утилиту psensor через пункт «Система» в меню запуска (Whisker) рабочего стола xubuntu.

Работающая psensor предоставляет пользователю довольно полную информацию о температуре устройств, скорости вращения кулеров, загрузке процессора, свободной памяти и температуре накопителя:

Эту утилиту при желании можно вывести на панель с помощью подменю Система — Psensor — правая кнопка мыши — добавить на панель.

Там же можно выбрать, какие сенсоры будут использоваться, а также добавить эту программу в автозапуск.

Кроме того, Psensor позволяет включить отображение параметров, которые ею мониторятся в виде диаграммы (нужно активировать соответствующую строку справа в окне программы).

Для удаленного мониторинга компьютера с помощью Psensor на удаленном компьютере устанавливают ее сервер командой:

sudo apt-get install psensor-server

затем его запускают:

psensor-server

а на рабочей станции, откуда проводится мониторинг, используют команду:

psensor --url=http://hostname:3131

К сожалению, в Psensor не отображается информация о текущем состоянии видеокарт.

Для отображения частоты ядра и памяти видеокарт в ОС типа ubuntu, температуры и частоты вращения вентилей, а также их разгона можно применять утилиты Radeon-profile (AMD), TuxClocker (nvidia, amd), GreenWithEnvy (nvidia), WattmanGTK (АМД).

Утилиты TuxClocker, GreenWithEnvy корректно работают с видеокартами nvidia. К сожалению, TuxClocker не всегда работает корректно с АМД. Для AMD лучше всего использовать Radeon-profile.

Работа с программой GreenWithEnvy для видеокарт nvidia

Работа с программой GreenWithEnvy проста и интуитивно понятна. Для ее установки инсталлируют библиотеки:

sudo apt install git meson python3-pip python3-setuptools libcairo2-dev libgirepository1.0-dev libglib2.0-dev libdazzle-1.0-dev gir1.2-gtksource-3.0 gir1.2-appindicator3-0.1 python3-gi-cairo appstream-util

а потом выполняют команды:

 flatpak --user remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo

 flatpak --user install flathub com.leinardi.gwe

 flatpak update

Запуск GreenWithEnvy производится командой:

flatpak run com.leinardi.gwe

или просто:

gwe

Скриншот утилиты GreenWithEnvy:

Работа с утилитой TuxClocker для видеокарт amd/nvidia в Ubuntu

Для работы с видеокартами nvidia в ubuntu утилите Tuxclocker требуется наличие установленных пакетов nvidia-smi, nvidia-settings, libxnvctrl и headers qt5base, x11extras. Для видеокарт amd требуется наличие библиотек libdrm и headers. Обычно все эти пакеты уже стоят в системе с запущенным майнингом.

Для компиляции и установки утилиты Tuxclocker для мониторинга состояния видеокарт nvidia, в терминале по очереди выполняют команды:

git clone https://github.com/Lurkki14/tuxclocker

cd tuxclocker

qmake rojekti.pro
(возможно, нужно будет установить пакет qtchooser командой sudo apt install qtchooser)

make

sudo make install

Программа Tuxclocker установится в папку /opt/tuxclocker/bin.

При появлении ошибок вида:

qmake: could not find a Qt installation of '',

а также:

Project ERROR: Unknown module(s) in QT: x11extras

нужно установить пакеты qt5 и libqt5x11extras5-dev командой:

sudo apt-get install qt5-default libqt5x11extras5-dev

Для видеокарт AMD в терминале последовательно выполняют команды:

git clone https://github.com/Lurkki14/tuxclocker

cd tuxclocker

git checkout pstatetest

qmake rojekti.pro

make

sudo make install (программа установится в папку /opt/tuxclocker/bin)

Для полноценного использования, утилиту tuxclocker нужно запускать от имени root командой:

sudo /opt/tuxclocker/bin/tuxclocker

Окна работающей утилиты tuxclocker:

Для полноценной работы с видеокартами АМД нужно включить в драйвере утилиту Radeon OverDrive. Это делается путем добавления в загрузчик ядра (не ниже версии 4.17) опции amdgpu.ppfeaturemask=0xffffffff (или amdgpu.ppfeaturemask=0xfffd7fff).

Для этого корректируют файл /etc/default/grub, а именно:

строку GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"

нужно привести к виду:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amdgpu.vm_fragment_size=9 radeon.si_support=0 amdgpu.si_support=1 amdgpu.dpm=1 amdgpu.ppfeaturemask=0xffffffff"

Для корректировки /etc/default/grub используют:

sudo nano /etc/default/grub

изменяют содержимое файла /etc/default/grub и обновляют grub командой:

sudo update-grub

Для справки:

В данном случае при корректировке опций загрузки ubuntu используются следующие параметры работы ядра (kernel), отвечающие за видеорежим:

  1. amdgpu.vm_fragment_size=9 — включение поддержки больших страниц памяти (аналог compute mode);
  2. nomodeset — настройка видеокарт происходит в ядре ,а не драйверах. Драйвера видеокарт не запускаются до полного запуска системы. Для майнинга этот режим применять нет смысла;
  3. quiet — при загрузке не отображаются сообщения об активации драйверов и прочей служебной информации. Для более полного контроля над компьютером и изучения процесса загрузки можно вообще отключать эту опцию;
  4. splash — режим, при котором запускается экран загрузки «глаз» и основные компоненты системы загружаются в фоновом режиме.
  5. quiet splash — тихое отображение заставки.

Параметры radeon.si_support=0 amdgpu.si_support=1 включают поддержку драйвера amdgpu для видеокарт amd вместо устаревшего драйвера radeon.

Параметр amdgpu.dpm=1 добавляет поддержку режима DPM (dynamic power management) для видеокарт AMD.

Параметр amdgpu.ppfeaturemask=0xffffffff» используется для видеокарт AMD Polaris и Vega для включения OverDrive и разблокирования возможности полноценной работы с вольтажом, частотой ядра и памяти таких видеокарт. Для Gpu Navi (RX5700) можно попробовать использовать параметр amdgpu.ppfeaturemask=0xfffd7fff.

Для проверки корректности параметров загрузки применяют команду:

printf "0x%08x\n" $(cat /sys/module/amdgpu/parameters/ppfeaturemask)

Должно отображаться значение 0xffffffff.

Рассмотрим подробнее работу с утилитой WattmanGTK, которая лучше всего работает с видеокартами AMD.

Установка и работа с утилитой Wattmangtk для мониторинга и разгона видеокарт AMD в Ubuntu

Программа WattmanGTK — это эмулятор Wattman (для Windows), работающий в linux с ядром 4.8+ (Ubuntu 16.10 и выше). Программа работает с AMDGPU kernel driver, имеет следующие возможности:

  • показывает состояние памяти, GPU P-states, включая вольтаж;
  • может мониторить сигналы сенсоров видеокарт;
  • поддерживает работу со скриптами разгона, а также позволяет изменять параметры работы GPU прямо из графического интерфейса;
  • поддерживает риги с несколькими видеокартами.

К сожалению, пока WattmanGTK не поддерживает управление вентиляторами кулеров видеокарт.

Для работы WattmanGTK нужно установить необходимые пакеты окружения командой (вводят сразу все строки):

sudo apt install --yes \
    python3-matplotlib
    python3-gi
    python3-setuptools
    python3-cairo

Установка производится из терминала, запущенного в папке со скачанной программой WattmanGTK командами:

git clone https://github.com/BoukeHaarsma23/WattmanGTK

cd WattmanGTK

sudo python3 setup.py install

Для корректной работы WattmanGTK с видеокартами АМД также нужно скорректировать файл /etc/default/grub, а именно:

строку GRUB_CMDLINE_LINUX_DEFAULT=»quiet splash»

нужно привести к виду:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amdgpu.ppfeaturemask=0xffffffff"

и обновить grub командой:

sudo update-grub

и перезагрузить компьютер.

Скриншот WattmanGTK:

К сожалению, WattmanGTK не работает в ubuntu 16.04, поэтому для такой ОС для мониторинга видеокарт АМД лучше использовать программу Radeon-profile или утилиту rocm-smi из пакета драйверов rocm.

Контроль состояния видеокарт AMD с помощью утилиты rocm-smi

rocm-smi (ROC System Management Interface) — это утилита, входящая в пакет драйверов rocm.

Ее можно поставить отдельно командами:

git clone https://github.com/RadeonOpenCompute/ROC-smi

cd ROC-smi

sudo apt install rocm-smi

Программа по умолчанию установится в папку /opt/rocm/bin/rocm-smi.

По умолчанию rocm-smi показывает следующую информацию:

rocm-smi может показывать полную информацию о состоянии GPU AMD (версия Bios, стейты, вольтаж и много другого) с помощью команды:

rocm-smi --showallinfo

Полный список команд rocm-smi доступен на github или в терминале после выполнения команды:

rocm-smi -h

Много возможностей предоставляет программа Radeon-profile.

Работа с утилитой Radeon-profile для видеокарт АМД

Radeon-profile в Ubuntu требует наличия дополнительных пакетов, которые устанавливают командой:

sudo apt-get install qt5-default x11-xserver-utils libxrandr2 libdrm-dev

Установка Radeon-profile делается командами:

sudo add-apt-repository ppa:trebelnik-stefina/radeon-profile

sudo apt-get update

sudo apt-get install radeon-profile

Запуск программы Radeon-profile производят через меню системы:

Скриншот работающей утилиты Radeon-profile:

Заключение

Для мониторинга состояния видеокарт AMD в графическом режиме удобнее всего использовать программу Radeon-profile. Она предоставляет богатую информацию о видеокартах, установленных в системе, а также о параметрах видео в ядре системы. Ее же можно использовать для разгона и даунвольтинга, как и wolfamdctrl.

Для видеокарт nvidia можно использовать Tuxclocker или GreenWithEnvy.

Для мониторинга других устройств компьютера в ubuntu можно использовать утилиту lm-sensors вместе с hddtemp и psensor.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

English EN French FR German DE Russian RU Spanish ES