Главная >> Инструкции >> Температура видеокарты в Linux

Температура видеокарты в Linux

В одной из предыдущих статей я рассказывал, как посмотреть температуру процессора в Linux. Для этих целей можно использовать утилиту sensors, а для просмотра более подробной информации в графическом интерфейсе есть psensor. За температурой видеокарты тоже нужно следить. Обычно, нагрев видеокарты можно отследить в программах для её тестирования, например в том же Unigine Heaven и в других подобных продуктах, но есть ещё один способ.

Температуру видеокарт Nvidia в Linux можно посмотреть с помощью утилиты, поставляемой вместе с проприетарными драйверами. С её же помощью можно настроить обороты кулера на видеокарте. Таких утилит на самом деле несколько. Рассмотрим их в этой статье.


Содержание статьи

Температура видеокарты в Linux

1. Утилиты sensors и psensor

Набор программ sensors позволяет отображать не только температуру процессора, но и видеокарты. Здесь она отображается как PCI Adapter, однако иногда в этом пункте может отображаться и температура процессора, поэтому будьте внимательны и посмотрите другие способы. Сначала надо установить lm_sensors, откройте терминал и наберите:

sudo apt install lm_sensors

Затем необходимо обнаружить все сенсоры в системе:

sudo sensors-detect

Читайте более подробно об этом в статье про температуру процессора. А сейчас мы посмотрим температуру:

sensors

Или в графическом интерфейсе:

psensor

2. Утилиты Nvidia

Для этого пункта необходимо, чтобы были установлены проприетарные драйверы. Чтобы посмотреть текущую температуру видеокарты, откройте утилиту Nvidia Settings из главного меню системы и перейдите на вкладку Thermal Settings:

Здесь в графе Temperature вы увидите текущую температуру видеокарты. Другой способ посмотреть температуру - утилита nvidia-smi. Она работает только через терминал:

nvidia-smi

Здесь вы увидите количество оборотов кулера и текущую температуру видеокарты. А ещё можно посмотреть только температуру:

nvidia-smi -q -d temperature

Настройка кулера видеокарты

Для того чтобы настроить частоту оборотов кулера, надо использовать утилиту Nvidia Settings. Сначала выполните:

sudo nvidia-xconfig -a --cool-bits=28

Затем установите нужное число оборотов кулера, например 90 процентов:

nvidia-settings -a '[gpu:0]/GPUFanControlState=1' -a '[fan:0]/GPUTargetFanSpeed=90'

Кулер на видеокарте сразу же начнёт вращаться с заданной скоростью. Надеюсь, эта информация была вам полезна.

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

7 комментариев к “Температура видеокарты в Linux”

  1. Статичная скорость кулера это костыль,лишний шум в общем ужас, лучше использовать специализированный софт и настроить обороты согласно температурам. У карт от зеленый в драйверах есть баг (по другому назвать я это не могу) видиокарта которая умеет работать на пасиве постоянно держит высокие частоты тем самым греется, в этом случае если нужная тишина то можно просто заблокировать уровень производительности на самом минимальном. "options nvidia NVreg_RegistryDwords="PowerMizerEnable=0x1; PowerMizerDefaultAC=0x3;" >> /etc/modprobe.d/99-nvidia-registry.conf" Единственный минус если нужна будет вся мощь то придется делать ребут. Я специально брал игровую карту которая без проблем будет работать в простое без включения вертушек, и включать их только при нагрузке но в лине все как всегда)))

    Ответить
  2. Автор пишет:
    "Для того чтобы настроить частоту оборотов кулера, надо использовать утилиту Nvidia Settings. Сначала выполните:
    sudo nvidia-xconfig -a --cool-bits=28"

    Зачем --cool-bits=28?
    Достаточно: --cool-bits=4, описание тут:
    https://download.nvidia.com/XFree86/Linux-x86_64/450.57/README/xconfigoptions.html

    Ищем на странице:
    "Option "Coolbits" "integer"

    When "4" (Bit 2) is set in the "Coolbits" option value, the nvidia-settings Thermal Monitor page will allow configuration of GPU fan speed, on graphics boards with programmable fan capability."

    После выставления --cool-bits иксы надо перезапустить, ну, или просто комп перезагрузить.
    После этого в графическом интерфейсе nvidia-settings в разделе "Thermal Settings" появится чекбокс, установив который, можно в ручную устанавливать обороты вентилятора, просто двигая бегунок мышкой, или вписав нужное число в поле ниже и нажав Apply.

    Следует отнестись к этому с ОСОБОЙ ОСТОРОЖНОСТЬЮ И ВНИМАНИЕМ! Я не уверен, что в биосе видео карты есть защита от дурака, и она повысит обороты автоматом при достижении критической температуры. Сам не проверял, кому охота, отпишитесь потом, выжила видюшка или нет =)

    Кому лень руками, ниже скриптик, найденный на просторах интернета, хотя, ПО от производителя и само хорошо регулирует обороты, но, всё же есть косяки, из-за которых приходится использовать скрипты.

    #!/bin/bash

    #sleep 30

    export DISPLAY=:0

    DELAY=1
    MIN_TEMP=60
    MAX_TEMP=75

    CARDS_NUM=`nvidia-smi -L | wc -l`

    echo "Found ${CARDS_NUM} GPU(s) : MIN ${MIN_TEMP}°C - ${MAX_TEMP}°C MAX : Delay ${DELAY}s"

    for ((i=0; i /dev/null
    if [ "$?" -ne 0 ]; then
    exit 1;
    fi
    done

    echo "GPUFanControlState set to 1 for all cards"

    while true
    do
    echo "#################"
    echo "$(date +"%d/%m/%y %T")"
    for ((i=0; i<$CARDS_NUM; i++))
    do
    GPU_TEMP=`nvidia-smi -i $i --query-gpu=temperature.gpu --format=csv,noheader`
    if [[ $GPU_TEMP $MAX_TEMP ]]
    then
    FAN_SPEED=100
    else
    FAN_SPEED=$(( ($GPU_TEMP - $MIN_TEMP)*100/($MAX_TEMP - $MIN_TEMP) ))
    fi
    # ######
    nvidia-settings -a [gpu:$i]/GPUFanControlState=1 > /dev/null
    if [ "$?" -ne 0 ]; then
    exit 1;
    fi
    # ######
    nvidia-settings -a [fan:$i]/GPUTargetFanSpeed=$FAN_SPEED > /dev/null
    echo "GPU${i} ${GPU_TEMP}°C -> ${FAN_SPEED}%"
    done
    sleep $DELAY
    done

    пы/сы: Всё на свой страх и риск, естественно..

    Ответить
  3. @Алексей
    (https://losst.pro/temperatura-videokarty-v-linux#comment-58790)
    "А как настроить чтобы не было превышения определенной тем-ры карты? Чтобы карта не перегревалась?"

    Посмотрите эту статью:
    https://www.opennet.ru/opennews/art.shtml?num=50180
    "Представлены три новых проекта с графическими интерфейсами для оверклокинга (overclock) видеокарт NVIDIA и AMD, позволяющие управлять тактовой частотой и параметрами системы охлаждения, отслеживая изменение температуры и характеристик производительности. "

    Ответить

Оставьте комментарий