If you just want a command: nvidia-settings -a GPUFanControlState=1 -a GPUTargetFanSpeed=60 Shouldn’t need sudo/root/elevated permissions but YMMV. But I wanted to give a full explanation/guide. I stumbled across this post while trying to find the answer myself, and through the answers here I fou… Answer from mdk.devvie on forums.developer.nvidia.com
🌐
NVIDIA Developer Forums
forums.developer.nvidia.com › accelerated computing › cuda › cuda programming and performance
How to set fanspeed in Linux from terminal - CUDA Programming and Performance - NVIDIA Developer Forums
April 8, 2019 - I’m just trying to find help on how to manually set my fan speed on my Nvidia GPU. the command: nvidia-settings -a “[gpu:0]/GPUFanControlState=1” -a “[fan:0]/GPUCurrentFanSpeed=n” gives a read-only error.
🌐
ArchWiki
wiki.archlinux.org › title › NVIDIA › Tips_and_tricks
NVIDIA/Tips and tricks - ArchWiki
3 weeks ago - Place the following line in your xinitrc file to adjust the fan when you launch Xorg. Replace n with the fan speed percentage you want to set. nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUTargetFanSpeed=n"
Discussions

How do I control fan speed on NVIDIA #GeForce Forums
{{Framework.description ? Framework.description : 'Join the GeForce community. Browse categories, post your questions, or just chat with other members.'}} More on nvidia.com
🌐 nvidia.com
How do I control fan curves for an Nvidia GPU?

https://github.com/Rem0o/FanControl.Releases

Love this fan control program. Super lightweight and allows a lot of customization for fan curves.

More on reddit.com
🌐 r/buildapc
10
13
August 2, 2022
How to adjust NVIDIA GPU fan speed on a headless node? - Unix & Linux Stack Exchange
There's overclocking example in ... clock: nvidia-settings -a [gpu]/GPUGraphicsClockOffset[3]=100 ... I've written a pip-installable Python script to do something similar to @AlexsandrDubinsky's suggestion. When you run fans.py, it sets up a temporary X server for each GPU with a fake display attached. Then, it loops over the GPUs every few seconds and sets the fan speed according ... More on unix.stackexchange.com
🌐 unix.stackexchange.com
May 27, 2017
Auto fan speeds with user-controlled lower bounds feature request
I use Ubuntu 22.04 LTS with NVidia driver version 525.78.01 and Gigabyte Aorus Xtreme 3090. nvidia-settings allows setting GPU fan speeds to either auto or fixed percentage: GPUFanControlState=0: auto fan speed setting turns the fans off at 41°C or below. GPUFanControlState=1: fixed percentage ... More on forums.developer.nvidia.com
🌐 forums.developer.nvidia.com
3
2
February 24, 2023
🌐
Asus
rog.asus.com › articles › guides › how to adjust your graphics card’s fan speed in gpu tweak iii
How to Adjust Your Graphics Card’s Fan Speed in GPU Tweak III
April 22, 2024 - To adjust your GPU’s fan speed, launch GPU Tweak III and look for the Fan Speed sliders on the right-hand side. On NVIDIA GeForce cards from ROG and TUF Gaming, you’ll see two sliders here: one for the side fans, and one for the center fan, ...
🌐
NVIDIA
nvidia.com › en-us › geforce › forums › game-ready-drivers › 13 › 174202 › how-do-i-control-fan-speed-on-nvidia-control-panel
How do I control fan speed on NVIDIA #GeForce Forums
{{Framework.description ? Framework.description : 'Join the GeForce community. Browse categories, post your questions, or just chat with other members.'}}
Top answer
1 of 10
26

In the terminal run:

sudo nvidia-xconfig
sudo nvidia-xconfig --cool-bits=4

restart your computer and search for NVIDIA X Server Settings in the Dash. There should be an option to change fan speed under Thermal Settings.

2 of 10
8

To control Nvidia GPU fan speed via Terminal on Linux Mint 20 with a 1070 Ti:

sudo nvidia-xconfig --cool-bits=4

to tell nvidia-xconfig to allow the fan to be controlled in the command line. You may need to reboot here.

nvidia-smi

Gives information about the GPU(s) and their numbers. Importantly I note that my 1070 Ti is GPU 0.

nvidia-settings -a "[gpu:0]/GPUFanControlState=1" -a "[fan:0]/GPUTargetFanSpeed=55"

For a much more detailed overview of this feature including multiple GPU fans, check out this thorough documentation Nvidia Overclocking and Cooling

For a somewhat rambling and wayward thread which lead me to the above link, check out Set Fanspeed in Linux from Terminal

==================END OF ANSWER==================

And as an extra tidbit not asked for in this question, you can also adjust the power output of your Nvidia GPU with:

sudo nvidia-smi -i 0 -pl 90

Where the 0 is my GPU number, and the 90 is the maximum power in watts. If you set this too low, you will get an error. In my limited experience, setting it too high had no effect. I found I can get 95%+ performance for ~75% energy cost by setting the power level to 100 in the above command in my mining rig, but I imagine other power conscious users would appreciate this too.

🌐
Reddit
reddit.com › r/buildapc › how do i control fan curves for an nvidia gpu?
r/buildapc on Reddit: How do I control fan curves for an Nvidia GPU?
August 2, 2022 -

I've got an old GTX 1080 which I've had to do a fan replacement on. But now when my PC is idle and every other fan in the computer are off, the fans on the GPU will keep spinning up and down every 2 seconds or so, and these aftermarket fans are very rattly when they spin up and cause a very loud burping sound. I'd rather they were always spinning slow on idle as that would be silent in comparison... How can I control the fans of the GPU?

🌐
Dev1 Galaxy
dev1galaxy.org › viewtopic.php
GPU - set fan speeds (nVidia settings) / Freedom Hacks / Dev1 Galaxy Forum
June 4, 2025 - Target fan speed is a (%)percentage. nvidia-settings --ctrl-display=gamesbox:0.0 -a [gpu:0]/GPUFanControlState=1 nvidia-settings --ctrl-display=gamesbox:0.0 -a [fan:0]/GPUTargetFanSpeed=70 nvidia-settings --ctrl-display=gamesbox:0.0 -a [fan:1]/GPUTargetFanSpeed=70
Find elsewhere
🌐
GitHub
github.com › Rem0o › FanControl.Releases › wiki › Nvidia-30%-and-0-RPM
Nvidia 30% and 0 RPM · Rem0o/FanControl.Releases Wiki
February 6, 2024 - The trick here is to set a fan curve that aligns with your card's built-in behavior, so that when FanControl hit 0%, your card also is in its natural state where it would go 0 rpm.
Author   Rem0o
🌐
DeviceTests
devicetests.com › home › pc components › how to change the gpu fan speed
How To Change the GPU Fan Speed (Step-by-Step Guide) | DeviceTests
December 4, 2022 - Navigate to the “Performance” tab and click the “Device Settings”. Select the “Manual Control” option under the “Cooling” section. Adjust the slider next to “GeForce GPU” to increase the fan speed and click “Apply” to save.
🌐
Medium
medium.com › @s1ddok › control-your-gpu-fan-speeds-while-connecting-to-your-machine-via-ssh-e01895b8909e
Control your GPU fan speeds while connecting to your machine via SSH | by Andrey Volodin | Medium
October 14, 2022 - First argument enables controlling fans in the first GPU, second one assigns target fan speed in percentage (0–100) for the first fan. Note: Fans are enumareted continously across all GPUs, i.e. I have 2 fans on each GPU and in order to control first fan on second GPU I have to use fan:2 · However, after running this command through you’ll likely see this: Unable to init server: Could not connect: Connection refusedERROR: The control display is undefined; please run `nvidia-settings --help` for usage information.
🌐
10Scopes
10scopes.com › home › pc components › gpu › how to adjust gpu fan control [set gpu fan rpm perfectly]
How To Adjust GPU Fan Control [Set GPU Fan RPM Perfectly]
March 2, 2023 - You can use the Nvidia Control Panel to adjust the fan speed. First, launch the app and then go to the Performance section from the left pane. Select Device Settings, and you’ll find Manual control under the Cooling section in the right pane.
Top answer
1 of 3
11

The following is a simple method that does not require scripting, connecting fake monitors, or fiddling and can be executed over SSH to control multiple NVIDIA GPUs' fans. It has been tested on Arch Linux.

Create xorg.conf

sudo nvidia-xconfig --allow-empty-initial-configuration --enable-all-gpus --cool-bits=7

This will create an /etc/X11/xorg.conf with an entry for each GPU, similar to the manual method.

Note: Some distributions (Fedora, CentOS, Manjaro) have additional config files (eg in /etc/X11/xorg.conf.d/ or /usr/share/X11/xorg.conf.d/), which override xorg.conf and set AllowNVIDIAGPUScreens. This option is not compatible with this guide. The extra config files should be modified or deleted. The X11 log file shows which config files have been loaded.

Alternative: Create xorg.conf manually

Identify your cards' PCI IDs:

nvidia-xconfig --query-gpu-info

Find the PCI BusID fields. Note that these are not the same as the bus IDs reported in the kernel.

Alternatively, do sudo startx, open /var/log/Xorg.0.log (or whatever location startX lists in its output under the line "Log file:"), and look for the line NVIDIA(0): Valid display device(s) on GPU-<GPU number> at PCI:<PCI ID>.

Edit /etc/X11/xorg.conf

Here is an example of xorg.conf for a three-GPU machine:

Section "ServerLayout"
        Identifier "dual"
        Screen 0 "Screen0"
        Screen 1 "Screen1" RightOf "Screen0"
        Screen 1 "Screen2" RightOf "Screen1"
EndSection

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:5:0:0"
    Option         "Coolbits"       "7"
    Option         "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:6:0:0"
    Option         "Coolbits"       "7"
    Option         "AllowEmptyInitialConfiguration"
EndSection

Section "Device"
    Identifier     "Device2"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:9:0:0"
    Option         "Coolbits"       "7"
    Option         "AllowEmptyInitialConfiguration"
EndSection

Section "Screen"
        Identifier     "Screen0"
        Device         "Device0"
EndSection

Section "Screen"
        Identifier     "Screen1"
        Device         "Device1"
EndSection

Section "Screen"
        Identifier     "Screen2"
        Device         "Device2"
EndSection

The BusID must match the bus IDs we identified in the previous step. The option AllowEmptyInitialConfiguration allows X to start even if no monitor is connected. The option Coolbits allows fans to be controlled. It can also allow overclocking.

Note: Some distributions (Fedora, CentOS, Manjaro) have additional config files (eg in /etc/X11/xorg.conf.d/ or /usr/share/X11/xorg.conf.d/), which override xorg.conf and set AllowNVIDIAGPUScreens. This option is not compatible with this guide. The extra config files should be modified or deleted. The X11 log file shows which config files have been loaded.

Edit /root/.xinitrc

nvidia-settings -q fans
nvidia-settings -a [gpu:0]/GPUFanControlState=1 -a [fan:0]/GPUTargetFanSpeed=75
nvidia-settings -a [gpu:1]/GPUFanControlState=1 -a [fan:1]/GPUTargetFanSpeed=75
nvidia-settings -a [gpu:2]/GPUFanControlState=1 -a [fan:2]/GPUTargetFanSpeed=75

I use .xinitrc to execute nvidia-settings for convenience, although there's probably other ways. The first line will print out every GPU fan in the system. Here, I set the fans to 75%.

Launch X

sudo startx -- :0

You can execute this command from SSH. The output will be:

Current version of pixman: 0.34.0
    Before reporting problems, check http://wiki.x.org
    to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
    (++) from command line, (!!) notice, (II) informational,
    (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/var/log/Xorg.0.log", Time: Sat May 27 02:22:08 2017
(==) Using config file: "/etc/X11/xorg.conf"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"

  Attribute 'GPUFanControlState' (pushistik:0[gpu:0]) assigned value 1.

  Attribute 'GPUTargetFanSpeed' (pushistik:0[fan:0]) assigned value 75.


  Attribute 'GPUFanControlState' (pushistik:0[gpu:1]) assigned value 1.

  Attribute 'GPUTargetFanSpeed' (pushistik:0[fan:1]) assigned value 75.


  Attribute 'GPUFanControlState' (pushistik:0[gpu:2]) assigned value 1.

  Attribute 'GPUTargetFanSpeed' (pushistik:0[fan:2]) assigned value 75.

Monitor temperatures and clock speeds

nvidia-smi and nvtop can be used to observe temperatures and power draw. Lower temperatures will allow the card to clock higher and increase its power draw. You can use sudo nvidia-smi -pl 150 to limit power draw and keep the cards cool, or use sudo nvidia-smi -pl 300 to let them overclock. My 1080 Ti runs at 1480 MHz if given 150W, and over 1800 MHz if given 300W, but this depends on the workload. You can monitor their clock speed with nvidia-smi -q or more specifically, watch 'nvidia-smi -q | grep -E "Utilization| Graphics|Power Draw"'

Returning to automatic fan management.

Reboot. I haven't found another way to make the fans automatic.

2 of 3
5

I've written a pip-installable Python script to do something similar to @AlexsandrDubinsky's suggestion.

When you run fans.py, it sets up a temporary X server for each GPU with a fake display attached. Then, it loops over the GPUs every few seconds and sets the fan speed according to their temperature. When the script dies, it returns control of the fans to the drivers and cleans up the X servers.

🌐
9meters
9meters.com › technology › graphics › how-to-adjust-your-gpu-fan-speed
How to Adjust Your GPU Fan Speed - 9meters
For NVIDIA GPUs, use the NVIDIA Control Panel. First, open it and navigate to the ‘Manage 3D Settings’ section. Here, find the ‘Fan Speed’ option where you can adjust the speed according to your needs.
Published   August 31, 2024
🌐
Chron.com
smallbusiness.chron.com › adjust-graphics-card-fan-speed-57415.html
How to Adjust a Graphics Card Fan Speed | Small Business - Chron.com
February 1, 2019 - Click the "GPU" icon, and then click the "Cooling" slider control and slide it to a value between zero and 100 percent. The fan slows down or speeds up automatically, depending on your setting.
🌐
NVIDIA Developer Forums
forums.developer.nvidia.com › graphics / linux › linux
Auto fan speeds with user-controlled lower bounds feature request - Linux - NVIDIA Developer Forums
February 24, 2023 - I use Ubuntu 22.04 LTS with NVidia ... GPU fan speeds to either auto or fixed percentage: GPUFanControlState=0: auto fan speed setting turns the fans off at 41°C or below....
🌐
NVIDIA
nvidia.com › en-us › geforce › forums › geforce-graphics-cards › 5 › 139911 › recommended-fan-settings-for-gaming
Topic: Recommended fan settings fo on NVIDIA #GeForce Forums
My Gigabyte GTX560ti may use the same fan speed profile, and works equally efficiently, even on 30+ deg days, when it may peak in the low 70'sC The profile starts @ 40%/30C and goes up 50% @50C, etc. up to 90C when is hits 85% and finishes on 90% @100C You cannot get too much cooling and the fan/s are very unlikely to fail during the life of the card. On the rare occasion they do fail it is the fan, not the speed. I used to run my fans at a fixed speed, and two of my older single fan cards - 7600GT and 8800GT were both set to 70+% fixed speed as they are still quiet at that speed.
🌐
Techticity
techticity.com › howto › how-to-control-nvidia-graphics-card-fan-speed-in-linux
How to control Nvidia graphics card Fan Speed Automatically in Linux – Techticity
September 19, 2018 - Table of contents: 1. Controlling Fan Speed manually (Mandatory step) 2. Controlling Fan Speed Automatically at boot with a script 3. Controlling Fan Speed Automatically at boot with the Green With Envy GUI 4. Controlling Fan Speed Headlessly · Nvidia doesn’t enable this feature by default and it’s on the user to enable it using the command line. Back in the days, it used to be nvclock but the support was dropped in 2010. Here’s a short guide on how to control the fan using Nvidia X Server Settings.
🌐
MS.Codes
ms.codes › blogs › computer-hardware › how-to-change-fan-speed-on-nvidia-graphics-card
How To Change Fan Speed On Nvidia Graphics Card
February 14, 2024 - Choose the desired program from the drop-down menu or add it if it's not listed. Scroll down to the "Power Management Mode" option. Select "Adaptive" or "Prefer Maximum Performance" for maximum fan speed. Click "Apply" to save the changes.
🌐
NVIDIA Developer Forums
forums.developer.nvidia.com › graphics / linux › linux
[nvidia-settings] Enable GPU Fan Settings Option is Grayed out - Linux - NVIDIA Developer Forums
December 3, 2023 - Hi, I would like to override zero RPM features of my GPU. It is frustrated that we could not control fan speed using nvidia-smi. The requirement for Xorg to access nvidia settings is cumbersome. I arrived at the following setting after combing the internet for solutions: /etc/X11/xorg.conf Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "NVIDIA GeForce GTX 1080 Ti" BusID "PCI:5:0:0" Optio...
🌐
NVIDIA
nvidia.com › en-us › geforce › forums › gaming-pcs › 8 › 137788 › fan-fan-speed-control
Topic: Fan Fan Speed Control on NVIDIA #GeForce Forums
You can adjust the fans of your gpu and also set fan profiles if you like and overclock too. http://event.msi.com/vga/afterburner/download.htm also if your using a laptop it won't adjust the fan just monitor the temps, fan adjustment in msi is for desktop pcs. Bummer, I do have a notebook... I saw there was an option to adjust fan speed in NVIDIA control panel/performance tool bar, but I don't see Performance in my menu.