免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: 383228273
打印 上一主题 下一主题

在笔记本电脑上用 Linux 系统的同胞们进来下~~~ [复制链接]

论坛徽章:
0
11 [报告]
发表于 2010-06-27 21:54 |只看该作者
那个上面好像有几个现成的工具吧,
我当时没看见那个,就自己写了个,很简陋的.. 只在温度不太高的时候强制风扇运行在level 2 ,温度高了就设置成auto转交给bios控制

我就上班的时候才用x200,平时在家有个sony的..

要下班了,没时间详细说了

  1. #!/bin/bash

  2. Main(){
  3.         GetStatus
  4.         SetLevel
  5.         SetFan
  6. }

  7. GetStatus(){
  8.         tp=`awk 'BEGIN{OFS="\n"}{print $2,$5,$3,$10,$11,$6}' /proc/acpi/ibm/thermal |sort -rn|head -n 1`

  9.         total=`awk '$3>"50"{aps=$3-50}$10>"50"{bus=$10-50}{print $2+$5+aps+bus}' /proc/acpi/ibm/thermal`
  10.         status=`awk '$1~/level/{print $2}' /proc/acpi/ibm/fan`
  11. }

  12. SetLevel(){
  13.         level=1

  14.         [ "$total" -gt  "98" ] && level=2
  15.         [ "$tp" -gt "54" ] && level=auto
  16.         if [ "$status" != "1" ]; then
  17.                 [ "$total" -gt  "90" ] && level=2
  18.                 [ "$tp" -gt "54" ] && level=auto
  19.         fi
  20. }

  21. SetFan(){
  22.         [ ]
  23.         if [ "$level" != "$status" ]; then
  24.                 echo "level $level" > /proc/acpi/ibm/fan
  25.         fi

  26. }       

  27. Main

复制代码

评分

参与人数 1可用积分 +15 收起 理由
gamester88 + 15

查看全部评分

论坛徽章:
0
12 [报告]
发表于 2010-06-27 22:02 |只看该作者
本帖最后由 Celinde 于 2010-06-27 22:04 编辑

上面那个叫tpfc,存放在/usr/local/sbin
下面这个是服务起停脚本tpfcd,放在/etc/init.d/tpfcd ,debian的和gentoo的会不一样,下面这个不能运行在debian上...

  1. #!/sbin/runscript

  2. opts="reload"


  3. start() {

  4.         ebegin "Starting tpfcd"
  5.         start-stop-daemon --start --quiet -b watch /usr/local/sbin/tpfc
  6.         eend $?
  7. }

  8. stop() {
  9.         ebegin "Stopping tpfcd"
  10.         start-stop-daemon --stop  watch /usr/local/sbin/tpfc
  11.         eend $?
  12. }

  13. reload() {
  14.         ebegin "Reloading tpfcd configuration"
  15.         start-stop-daemon --stop  watch /usr/local/sbin/tpfc
  16.         start-stop-daemon --start --quiet -b  watch /usr/local/sbin/tpfc
  17.         eend $?
  18. }

复制代码

论坛徽章:
0
13 [报告]
发表于 2010-06-27 22:16 |只看该作者
太感谢大姐了,大姐果然是自己写的脚本,参考大姐的脚本,我也弄个风扇的控制脚本出来~~~ {:3_197:}

大姐,这么晚了还在上班 {:3_199:}

论坛徽章:
0
14 [报告]
发表于 2010-06-28 09:00 |只看该作者
{:2_163:}还没关心过这个问题。我的HP的笔记本,很烫!目前还没烧坏{:2_165:}

论坛徽章:
0
15 [报告]
发表于 2010-06-28 09:36 |只看该作者
我的是x61  用的FC10
天气热时, cpu 近100%运转一段时间, cpu温度过高, 没有给任何提示, 会自动关机.

原因:
Apr 29 15:19:37 fc10_x61 kernel: ACPI: Critical trip point
Apr 29 15:19:37 fc10_x61 kernel: Critical temperature reached (128 C), shutting down.

论坛徽章:
5
寅虎
日期:2015-01-20 09:16:52亥猪
日期:2015-01-21 14:43:44IT运维版块每日发帖之星
日期:2015-12-17 06:20:00每日论坛发贴之星
日期:2015-12-17 06:20:00每周论坛发贴之星
日期:2015-12-20 22:22:00
16 [报告]
发表于 2010-06-28 09:48 |只看该作者
回复 15# linuxIsPerfect


    到达临界温度,128c,关机

   温度太高啦??

论坛徽章:
0
17 [报告]
发表于 2010-06-28 17:04 |只看该作者
我就想把我的无线上网搞定!!!!!!!!!!!!!

论坛徽章:
0
18 [报告]
发表于 2010-06-28 17:33 |只看该作者
散热不如WINDOWS

论坛徽章:
0
19 [报告]
发表于 2010-06-28 18:09 |只看该作者
  1. #! /bin/bash

  2. # 下面 TEMP_1~10 为温度设置,其对应关系与 sensors 命令输出相同;
  3. # 高于设置温度则 FAN(风扇)转为 auto 模式;
  4. # 低于设置此温度则 FAN(风扇)运行等级设置为 1 等级.

  5. TEMP_1='44'        # CPU
  6. TEMP_2='44'        #
  7. TEMP_4='44'        # GPU
  8. TEMP_5='44'        #
  9. TEMP_7='44'        #
  10. TEMP_9='44'        #
  11. TEMP_10='44'        #

  12. SET_T="$TEMP_1 $TEMP_2 -128 $TEMP_4 $TEMP_5 -128 $TEMP_7 -128 $TEMP_9 $TEMP_10 -128 -128 -128 -128 -128 -128"
  13. #      1       2        3   4       5        6   7        8   9       10        11   12   13   14   15   16

  14. SYS_T=$(sed 's/temperatures:\t//g' /proc/acpi/ibm/thermal)
  15. SYS_LEVEL=$(cat /proc/acpi/ibm/fan | grep '^level' | sed 's/level:\t\t//g')

  16. I='1'
  17. for T in $SET_T
  18. do
  19.         if [ $(echo $SYS_T | cut -d ' ' -f $I) -gt $T ]; then
  20.                 [ 'auto' = $SYS_LEVEL ] || echo 'level auto' > /proc/acpi/ibm/fan
  21.                 exit 0
  22.         fi
  23.         I=$(($I+1))
  24. done

  25. [ 'auto' = $SYS_LEVEL ] && echo 'level 1' > /proc/acpi/ibm/fan
复制代码
参考 11 楼大姐的风扇控制脚本,自己也弄了个出来,哈哈~~~ {:3_200:}
看了大姐的脚本应该是只取出温度最高的值,再根据这个值来调整风扇的运行等级;我的脚本则判断系统温度值在其对应的设置温度之下或之上来调整运行等级,不是取系统最大的温度值,感觉这样设置各传感器温度更灵活一些。

还有点问题,大姐再给我说下 /proc/acpi/ibm/thermal 中,各数值对应的是什么温度? 现在只知道第1个是CPU的温度,第4个是GPU的温度,还有其它的不知道了,我想在脚本 TEMP_1~10 设置后面注明下,方便设置?

还有就是这个脚本的 /etc/init.d/ 中的服务脚本还没写,还不知道怎么写 ?

{:3_198:}

论坛徽章:
0
20 [报告]
发表于 2010-06-28 19:06 |只看该作者
我的virtual PC,你看麽?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP