3 nvidia overheating fancontrol nvidia-settings
所以我试图弄清楚如何为我的 Gigabyte GTX 960 ITX 卡制作自定义风扇曲线。它大约是半长(对于我的小机箱),但这意味着它有一个非常小的散热器,而 Nvidia 驱动程序没有对此进行适当的补偿。
我做了一堆谷歌搜索,大多数答案由于某种原因并没有真正起作用。
如何制作自定义风扇曲线?
小智 5
我在 Ubuntu 论坛上找到了大部分答案,但给出的设置风扇速度的命令是错误的。我自己也写了 shell 脚本(我是菜鸟),所以请随意评论我是如何做错的,只要你告诉我如何修复它:) 我添加了过多的评论,所以不理解的人bash 可以了解我在做什么。这仅适用于 1 个 GPU,并且需要对多个 GPU 进行修改。顺便说一下,我设置的风扇曲线是speed%=0.028*(degreesC^2)。
sudo konqueror)。/etc/X11并允许对所有组进行写访问(但保持窗口打开)。nvidia-settings在终端中)。sudo nvidia-xconfig,然后再次使用--cool-bits=4.#!/bin/bash
# Put "sleep 30" here if you run it at start-up
# to make sure this starts after the Nvidia driver does.
fan="0"
gpu="0"
echo "GPU fan controller service started."
nvidia-settings -a "[gpu:$gpu]/GPUFanControlState=1" > /dev/null
check="$(nvidia-settings -a \"[fan:$fan]/GPUTargetFanSpeed=30\" | tr -d '[[:space:]]')"
working="Attribute'GPUTargetFanSpeed'($(hostname):0fan:$fan)assignedvalue30."
if [[ "$check" != "$working" ]]; then
echo "error on fan speed assignment: $check"
echo "Should be: $working"
exit 1
fi
while true
do
degreesC="$(nvidia-smi -i $gpu | grep -owEe '[0-9]+C')"
fanSpeed=$(($degreesC ** 2))
fanSpeed=$(($fanSpeed / 50))
if [[ $fanSpeed -gt 100 ]]
then
fanSpeed=100
fi
nvidia-settings -a "[fan:$fan]/GPUTargetFanSpeed=$fanSpeed" > /dev/null
sleep 8
done
Run Code Online (Sandbox Code Playgroud)
我将来可能不会更新它,因为我将升级到 RX 480。
| 归档时间: |
|
| 查看次数: |
9686 次 |
| 最近记录: |