そこで、Gigabyte GTX 960 ITXカードのカスタムファンカーブを作成する方法を見つけようとしていました。それは約半分の長さです(私の小さな場合)が、それは非常に小さなヒートシンクを持っていることを意味し、Nvidiaドライバーはそれを適切に補正していませんでした。
私はたくさんのグーグルをしましたが、ほとんどの答えは何らかの理由で実際には機能しませんでした。
カスタムファンカーブを作成するにはどうすればよいですか?
私は答えの大半を見つけました buntu Forums ですが、与えられたファン速度を設定するコマンドが間違っていました。私はシェルスクリプトも自分で書きました(そして、私は初心者です)ので、修正方法を教えてくれる限り、私がすべて間違ったことをコメントしてください:)私は理解できない人のために過剰なコメントを追加しました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
RX 480にアップグレードするので、今後これを更新することはおそらくないでしょう。
私はこれのために独自のスクリプトを作成しましたが、これまで見た中で最高です。皆さんの何人かが私のコードに貢献して改善してくれることを期待しています。 Mineは実行するだけで機能し、349.16未満の古いバージョンをサポートできるはずです。また、調整可能なファンカーブもあります。
Githubリンクはこちら: https://github.com/abc123me/Nvidia-Fancontrol
スクリプトをありがとう。ファンのコントローラーの1つに問題があります。ハードウェアのファン制御を妨げるものです(2番目のファンが認識されず、最初は狂ったように回転し始めます)。ソフトウェア制御はWindows上でうまく機能するため、Ubuntuでファンカーブを使用してソフトウェア制御を実装する方法を確認することにしました。
とにかく、私がこれを入力しているのは、スクリプトでコンピューター名をハードコーディングしているためです(4行目:Bens-PC)。変数を使用し、スクリプトにコメントを付けて、人々が簡単に気付くことができるようにすることをお勧めします。