曲径通幽论坛

 找回密码
 立即注册
搜索
查看: 6898|回复: 0
打印 上一主题 下一主题

linux 下监控 ATI 显卡温度并自动调节风扇转速脚本

[复制链接]

4918

主题

5880

帖子

3万

积分

GROAD

曲径通幽,安觅芳踪。

Rank: 6Rank: 6

积分
34397
跳转到指定楼层
楼主
发表于 2009-4-21 17:27:28 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
常用的一台机子上装的系统是 opensuse 11.1 ,显卡为 HD4850,默认情况下,显卡风扇为全速转动,噪音非常大。因为在 Linux 下不玩大型游戏,显卡温度一般很低(已经加了机箱风扇),所以有必要降低显卡风扇转速。
默认下,Linux 里 的 ATI 显卡 CCC 驱动中心里并没有控制风扇转速一项(被隐藏起来了,呵呵)。为了方便以及减少烦恼,我写了个脚本,主要是监控显卡温度和自动调节转速,希望对用 ATI显卡+Linux 的用户有所用,脚本代码如下:
#!/bin/bash

Temperature=0
Flag=0

while true
do

Temperature=
`
aticonfig --od-gettemperature | grep Sensor | awk
'
{if (
$
5) printf("%d",
$
5)}
'`

        
         if [
$
Temperature -ge 38 ] && [
$
Temperature -le 43 ] && [
$
Flag -eq 0 ]; then
                 aticonfig --pplib-cmd
'
set fanspeed 0 20
'
> /dev/null
                 Flag=1
         fi

        if [
$
Temperature -gt 43 ] && [
$
Temperature -le 45 ]; then
                 aticonfig --pplib-cmd
'
set fanspeed 0 30
'
> /dev/null
                 Flag=0
         fi

        if [
$
Temperature -gt 45 ] && [
$
Temperature -lt 48 ]; then
                 aticonfig --pplib-cmd
'
set fanspeed 0 50
'
> /dev/null
                 Flag=0
         fi

        if [
$
Temperature -gt 50 ]; then
                 aticonfig --pplib-cmd
'
set fanspeed 0 100
'
> /dev/null
                 Flag=0
         fi

sleep 180

done

exit 0
-----------------------------------------------------
说明:
监控时间 3 分钟探测并调节一次。
$Flag 变量标志避免没有必要的对显卡风扇发送转速调节指令
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|曲径通幽 ( 琼ICP备11001422号-1|公安备案:46900502000207 )

GMT+8, 2025-6-18 01:26 , Processed in 0.060087 second(s), 22 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表