0
0

最も簡単なLinuxでのNVIDIA GPUファン速度制御ガイド

Posted at

はじめに

LinuxサーバーやPCにNVIDIA GPUが搭載されており、グラフィカルインターフェースなしでSSHを使用してファン速度を調整したい場合、このガイドがその方法を提供します。騒音の低減、効率の向上、またはハードウェアの冷却を目的とするかに関係なく、このガイドを使えば簡単に設定が可能です。

(GUIは不要、SSHで完結)(おそらく最もシンプルな方法)

スクリプトのリンク: https://github.com/RoversX/nvidia_fan_control_linux/

English Version


クイックスタートガイド

環境設定

  1. Python仮想環境を作成

    python3 -m venv fan
    source fan/bin/activate
    
  2. pynvmlライブラリをインストール

    pip3 install pynvml
    
  3. ファンコントロールスクリプトをダウンロード

    wget https://raw.githubusercontent.com/RoversX/nvidia_fan_control_linux/main/nvidia_fan_control.py
    
  4. スクリプトのパラメータを調整

    # ファンカーブの設定
    temperature_points = [0, 40, 57, 70]
    fan_speed_points = [27, 40, 80, 100]
    
    # CPU負荷軽減のためのスリープ時間
    sleep_seconds = 5
    

Screenshot 2024-06-28 at 7.39.43 PM.webp

スクリプトの設定

スクリプトの起動を簡単にするため、次のようなfan.shスクリプトを作成します。

nano fan.sh

エディタが開いたら、以下の内容をコピーして貼り付けてください:

#!/bin/bash

# 仮想環境を有効化するためにsudo権限を使用
sudo bash <<EOF
source /home/x/Workspace/fan/bin/activate
python /home/x/Workspace/fan/nvidia_fan_control.py
deactivate
EOF

ファンコントロールの起動

設定が完了したら、以下のコマンドでファン速度の制御を開始します:

./fan.sh

出力例

スクリプト実行後、以下のような出力が表示されます:

x@x:~$ ./fan.sh
[sudo] password for x: 
============================================================
Driver Version: 535.183.01
GPU 0: NVIDIA GeForce RTX 2080 Ti
Fan Count: 1
============================================================
Temperature: 42°C
Total Curve Point: 4
Current Curve Point: 2
Previous_Curve_Point: 1
Fan_Speed: 45%
============================================================
Temperature_Delta: 17
Fan_Speed_Delta: 40
Temperature_Increment: 2
Fan_Speed_Increment: 4.705882352941177
Previous_Temperature: 42°C
Step_Down_Temperature: 37
============================================================

この出力により、GPUの温度やファン速度の状態が確認でき、適切な条件で動作しているかどうかがわかります。

このスクリプトは、https://github.com/Cippo95/nvidia-fan-control に基づき改良されており、一部のコードは https://gist.github.com/AlexKordic/65f031b708177a01a002cc19f0d7298c のものを利用しています。

finally:
    # 自動ファンコントロールにリセット
    for handle, fan_count in zip(handles, fan_counts):
        for i in range(fan_count):
            nvmlDeviceSetDefaultFanSpeed_v2(handle, i)
    nvmlShutdown()

結論

この手順に従えば、GUIを使用せずにLinuxでNVIDIA GPUのファン速度を簡単に制御できるようになります。特にリモート管理やサーバー環境での使用に適しています。

Zenn での初公開: https://zenn.dev/closex/articles/a179489b47fdd3

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0