(No GUI Required,just need SSH)(Support Multiple GPUs and GPU index validation)(Perhaps the simplest)
![Screenshot 2024-06 at 3 04 05 PM](https://private-user-images.githubusercontent.com/85817538/344068080-a25a720f-ac68-487a-b760-2c81b5b74136.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4Mjg4ODcsIm5iZiI6MTczODgyODU4NywicGF0aCI6Ii84NTgxNzUzOC8zNDQwNjgwODAtYTI1YTcyMGYtYWM2OC00ODdhLWI3NjAtMmM4MWI1Yjc0MTM2LnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMDYlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjA2VDA3NTYyN1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTQyZjBiMzNjMDhlYzM1MDlmZWRjMDQyNjM3ZTUyM2Y3NTVkN2U0MDkwZDQwMjYyYTlhOGRlMWNjMGE2NmNmNzUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.UOZ5dt700u-XCHgk_8p4Iz9Lq1YOINPQgtb7toWhzjA)
Set up Environment
python3 -m venv fan
Activate Environment
source fan/bin/activate
Install pynvml
pip3 install pynvml
Get python file
wget https://raw.githubusercontent.com/RoversX/nvidia_fan_control_linux/main/nvidia_fan_control.py
Return to the previous directory maybe
cd ``
Create fan.sh for simple use
nano fan.sh
Copy script into the file
#!/bin/bash
# Use sudo to elevate privileges and activate the virtual environment
sudo bash <<EOF
source /home/x/Workspace/fan/bin/activate
python /home/x/Workspace/fan/nvidia_fan_control.py
deactivate
EOF
Start fan control
./fan.sh
NVIDIA's driver 🤗
A more user-friendly UI has been added to the original version to facilitate user adjustment.
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
============================================================
import matplotlib.pyplot as plt
# Fan Curve Parameters
temperature_points = [0, 40, 57, 70]
fan_speed_points = [30, 40, 80, 100]
# Draw curve
plt.figure(figsize=(8, 6))
plt.plot(temperature_points, fan_speed_points, marker='o', linestyle='-', color='b', markersize=8)
plt.title('Fan Speed Curve')
plt.xlabel('Temperature (°C)')
plt.ylabel('Fan Speed (%)')
plt.grid(True)
plt.xticks(temperature_points)
plt.yticks(fan_speed_points)
plt.tight_layout()
plt.show()
https://github.com/Cippo95/nvidia-fan-control
https://gist.github.com/AlexKordic/65f031b708177a01a002cc19f0d7298c
:~$ ./fan.sh
Driver Version: 535.183.01
0:NVIDIA GeForce RTX 2080 Ti fans=1 27-100
0:NVIDIA GeForce RTX 2080 Ti t=36 27 >> 40
0:NVIDIA GeForce RTX 2080 Ti t=36 43 >> 40
0:NVIDIA GeForce RTX 2080 Ti t=36 41 >> 40
0:NVIDIA GeForce RTX 2080 Ti t=36 39 >> 40
0:NVIDIA GeForce RTX 2080 Ti t=35 40 >> 37
0:NVIDIA GeForce RTX 2080 Ti t=35 36 >> 37
0:NVIDIA GeForce RTX 2080 Ti t=34 37 >> 35
An interesting resource: https://askubuntu.com/questions/42494/how-can-i-change-the-nvidia-gpu-fan-speed