LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1354|回复: 4

控制CPU风扇的起转温度

[复制链接]
发表于 2008-11-29 12:20:15 | 显示全部楼层 |阅读模式
有人言: 可以
echo -n "102:100:100:80:65:50:40" > /proc/acpi/thermal_zone/*/trip_points  
这样来控制,结果出现 input/ouput error

用手修改该文件,结果不能保存

看见有人说新内核好像不支持修改该文件了


按照 http://zeroxu.ycool.com/post.1539668.html

  1. #modprobe i2c-i801                             (加载两个相关module)
  2. #modprobe lm85
  3. #cd '/sys/devices/pci0000:00/0000:00:1f.3/i2c-0/0-002e'      
  4. #echo 80000 > temp1_auto_temp_off            (设置风扇关闭温度为80度)
  5. #echo 90000 > temp1_auto_temp_min           (设置风扇开启温度为90度)
  6. 如果高兴,还可以
  7. #echo 95000 > temp1_auto_temp_max          (设置95度为风扇达到 最高转数的条件,原来是92度)

复制代码

没有sys****这个文件,



大家有什么解决方法吗?
发表于 2008-11-29 15:17:49 | 显示全部楼层
Orz ……被雷到了。

/proc 下的文件也可以修改?还保存?开玩笑。。。
回复 支持 反对

使用道具 举报

发表于 2008-11-29 15:31:26 | 显示全部楼层
/etc/sysctl.conf
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-29 16:27:11 | 显示全部楼层
修改什么内容呢?

Google没有找到什么有用的帮助

只有在看gentoo的 sysctl.conf时,说设定内容是在/proc/sys 目录下的,在这个目录下好像没有有关fan  的内容 ,只有一个 /proc/sys/kernel/acpi_video_flags 有关acpi ,需要修改什么内容呢?有进一步学习资料吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-11-29 17:02:55 | 显示全部楼层
http://heaven.branda.to/~thinker/GinGin_CGI.py/show_id_doc/268  
参照此文没有 hw.acpi.thermal.tz0 。。。。




炎炎夏日, notebook 也會想罷工。自從上星期 notebook 因過熱,而頻頻自動關機,我就覺的納悶。今天又給我自動關機,於是我狠下心看看如何做電源管理。查了一些 man page 之後,終於有些心得。

以我的 notebook (panasonic R5) 為例,沒有風扇。因此只能使用 passive cooling 的方式來降溫,白話就是 CPU 降頻。透過設定 ACPI ,能讓 FreeBSD 在系統過熱時,自動降低 CPU 的頻率,減少發熱,進而達到降溫的目的。設定 ACPI 主要有三個部分要做,

   1. enable passive cooling
   2. 設定 passive cooling 的啟動溫度
   3. 設定過溫度上限,以啟動關機程序

FreeBSD 的相關設定可以看 acpi_thermal(4) 。 Notebook 的設計,可能將機器劃分成數的區域 (zone)。每一個區域各自有其溫度感應器,可以透過 sysctl hw.acpi.thermal 取得

su-2.05b# sysctl hw.acpi.thermal
hw.acpi.thermal.min_runtime: 0
hw.acpi.thermal.polling_rate: 10
hw.acpi.thermal.user_override: 0
hw.acpi.thermal.tz0.temperature: 40.0C
hw.acpi.thermal.tz0.active: -1
hw.acpi.thermal.tz0.passive_cooling: 1
hw.acpi.thermal.tz0.thermal_flags: 0
hw.acpi.thermal.tz0._PSV: 73.0C
hw.acpi.thermal.tz0._HOT: -1
hw.acpi.thermal.tz0._CRT: 75.0C
hw.acpi.thermal.tz0._ACx: 73.0C -1 -1 -1 -1 -1 -1 -1 -1 -1

這台機器只有一個, tz0 就代表第一個 zone ,其溫度為攝氏 40 度 (hw.acpi.thermal.tz0.temperature) 。而我的 notebook 則有 tz0 和 tz1 兩個 zone 。

我的 notebook 是設定在攝氏 60 度時,啟動 passive cooling , 80 度時關機。因此在 /etc/sysctl.conf 包含下面設定

hw.acpi.thermal.user_override=1
hw.acpi.thermal.tz0._PSV=60
hw.acpi.thermal.tz0._CRT=80
hw.acpi.thermal.tz1.passive_cooling=1
hw.acpi.thermal.tz1._PSV=60
hw.acpi.thermal.tz1._CRT=80

其中 user_override 一定要設為 1 ,後面的設定才能生效。而我的 R5 ,不知什麼原故,無法設定 hw.acpi.thermal.tz0.passive_cooling=1 ,但其它設定卻能生效。 _PSV 是設定啟動 passive cooling 的溫度,而 _CRT 則是自動關機的溫度。

除了上面溫度控制的設定之外,降頻的程度也是可以設定的。透過設定 hw.acpi.cpu.cx_lowest 可以設定最大的降頻等級。

hw.acpi.cpu.cx_lowest=C2

這是我的 R6 所能達到的最大降頻等級。機器所支援的等級可以從 hw.acpi.cpu.cx_supported 查得。而目前 CPU 的工作頻率,則可透過 dev.cpu.0.freq 查得。若而第二顆 CPU ,則可查詢 dev.cpu.1.freq ,依此類推可以查更多的 CPU 。

降頻的方式雖然可行,但是電腦的速度會急速下降。最好的方案還是找間冷氣房待著吧!! 除了電腦,人腦也需要降溫。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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