web-dev-qa-db-ja.com

Ubuntu 16.04、GPUの温度とファンの速度を取得する方法は?

Ubuntu 14.04では、ブートプロセス中にconkyのpythonスクリプトを実行してGPU温度を読み取り、温度に応じてFAN速度を変更することに慣れました。これはスクリプトです:

# 
# python /home/ibart/.scripts/ventola_ATI.py
#

import os
import time

minTemp = 45.00
maxTemp = 70.00
minSpeed = 10
maxSpeed = 90
updateInterval = 3
fanSpeed = 25

while True:

    f = os.popen('aticonfig --od-gettemperature | grep "Sensor 0" | cut -c43-47')
    currentTemp = eval(str(f.readlines())[2:7])

    if currentTemp > maxTemp:
        if fanSpeed < maxSpeed:
            fanSpeed = fanSpeed + 1
    if currentTemp < minTemp:
        if fanSpeed > minSpeed:
            fanSpeed = fanSpeed - 1

    os.system('aticonfig --pplib-cmd "set fanspeed 0 ' + str(fanSpeed) + '"')

    print fanSpeed
    print currentTemp
    time.sleep(updateInterval)

Ubuntuが私のカードである古くて派手なHD5770の公式ドライバーを削除したのはなぜですか?

ありがとう。

編集。 16.04 sensorsで検出します。ありがとうルカ。

5
Mich. Gio.

センサー検出を使用してください。

Sudo sensors-detect

その後で起動します:

sensors
6
Luca D'Amico

GPUの温度に応じてシステムファンの速度を変更しようとしていると思います。 GPUファンの速度は、GPUドライバーによってのみ制御できると思います(もしあれば)。

「lm-sensors」と「fancontrol」をインストールします。そうするための優れた指示のセットがあります here

投稿したsensorsからの出力のフラグメントから、インストールされているが設定されていないlm-sensorsのようです。これを行うには、マザーボードの構成ファイルを検索または書き込み、/ etc/sensors.dに配置します。

sensorsは明らかにGPU温度を正しく報告しているので、存在しないセンサーからの誤った読み取り値や誤った警告を気にしないのであれば、これを行う必要はありません。

次に、「fancontrol」を設定して、GPU温度によってファン速度を制御します。

2
Steve Roome