mkdir /opt
sudo chmod 777 /opt -R
cd /opt
vim fan.sh
填入以下内容:
#!/bin/bash
# 设置风扇速度函数
set_fan_speed() {
# $1 是传递的第一个参数,即风扇速度
echo $1 | sudo tee /sys/devices/pwm-fan/target_pwm
}
# 读取温度函数
read_temp() {
# $1 是传递的第一个参数,即传感器路径
temp=$(cat $1)
echo $((temp / 1000))
}
# CPU 和 GPU 温度传感器路径
CPU_TEMP_PATH="/sys/class/thermal/thermal_zone0/temp"
GPU_TEMP_PATH="/sys/class/thermal/thermal_zone1/temp"
while true; do
# 读取 CPU 和 GPU 温度
CPU_TEMP=$(read_temp $CPU_TEMP_PATH)
GPU_TEMP=$(read_temp $GPU_TEMP_PATH)
# 获取较高的温度
MAX_TEMP=$((CPU_TEMP > GPU_TEMP ? CPU_TEMP : GPU_TEMP))
# 根据温度设置风扇速度
if [ $MAX_TEMP -gt 70 ]; then
set_fan_speed 255 # 最大速度
elif [ $MAX_TEMP -gt 60 ]; then
set_fan_speed 200
elif [ $MAX_TEMP -gt 50 ]; then
set_fan_speed 150
else
set_fan_speed 100 # 最小速度
fi
# 每 10 秒钟调整一次风扇速度
sleep 10
done
保存后继续指令:
sudo chmod +x fan.sh
sudo vim /etc/systemd/system/fan_control.service
填入以下内容:
[Unit]
Description=Fan Control Service
After=multi-user.target
[Service]
Type=simple
ExecStart=/opt/fan.sh
Restart=on-failure
[Install]
WantedBy=multi-user.target
保存后继续指令:
sudo systemctl enable fan_control.service
sudo systemctl start fan_control.service
验证效果:
sudo jtop
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。