LinuxSir.cn,穿越时空的Linuxsir!

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

检测你的电脑最低电压和最高温度

[复制链接]
发表于 2006-8-7 14:58:17 | 显示全部楼层 |阅读模式
登录第二终端运行下面的脚本,然后startx开始干活,关机前看看检测结果。
发现+5V还是偏低
[HTML]
[14:35:15 ~]$ sh test/sensors.sh
+5V:    +12V:    Vio:   Vcc:    CPU Temp:    SYS Temp:
------------------------------------------------------
4.93    12.01    3.34   2.10      38.1         38.2
4.91    12.01    3.34   2.10      38.4         38.4
4.88    12.01    3.34   2.10      38.4         38.4
4.86    12.01    3.34   2.10      38.6         38.6
[/HTML]
[color="Red"]cat sensors.sh

  1. #!/bin/bash
  2. # Bash script for recording lowest voltage and highest Temp.
  3. # License: GPL 2.0 and/or later.
  4. # Version: 0.0.2
  5. # Date   : 2006-08-07

  6. # init variables
  7. V5=9999
  8. V12=9999
  9. Vcc=9999
  10. Vio=9999
  11. Tsys=20
  12. Tcpu=20
  13. E=0

  14. # print header
  15. echo "+5V:    +12V:    Vio:   Vcc:    CPU Temp:    SYS Temp:"
  16. echo "------------------------------------------------------"

  17. # Get and compare values, and set switch.
  18. while :; do a=`sensors`
  19. k=`echo -n "$a" | sed -n '/^+5V:/{s/^+5V:  *+\([0-9.]*\).*/\1/;s/\.//p}' `
  20. [ $V5 -gt $k ] && V5=$k && E="1"
  21. k=`echo "$a" | sed -n '/^+12V:/{s/^+12V:  *+\([0-9.]*\).*/\1/;s/\.//p}' `
  22. [ $V12 -gt $k ] && V12=$k && E="1"
  23. k=`echo "$a" | sed -n '/^I\/O/{s/^I\/O 3.3V:  *+\([0-9.]*\).*/\1/;s/\.//p}' `
  24. [ $Vio -gt $k ] && Vio=$k && E="1"
  25. k=`echo "$a" | sed -n '/^CPU core/{s/^CPU core:  *+\([0-9.]*\).*/\1/;s/\.//p}' `
  26. [ $Vcc -gt $k ] && Vcc=$k && E="1"
  27. k=`echo "$a" | sed -n '/^CPU Temp/{s/^CPU Temp:  *+\([0-9.]*\).*/\1/;s/\.//p}' `
  28. [ $Tcpu -lt $k ] && Tcpu=$k
  29. k=`echo "$a" | sed -n '/^SYS Temp/{s/^SYS Temp:  *+\([0-9.]*\).*/\1/;s/\.//p}' `
  30. [ $Tsys -lt $k ] && Tsys=$k

  31. # If switch is on, print out values, and reset switch.
  32. if [ $E -eq 1 ]; then
  33. v5=`echo -e "scale=2\n $V5 / 100"| bc`
  34. v12=`echo -e "scale=2\n $V12 / 100"| bc`
  35. vio=`echo -e "scale=2\n $Vio / 100"| bc`
  36. vcc=`echo -e "scale=2\n $Vcc / 100"| bc`
  37. tsys=`echo -e "scale=1\n $Tsys / 10"| bc`
  38. tcpu=`echo -e "scale=1\n $Tcpu / 10"| bc`
  39. echo "$v5    $v12    $vio   $vcc      $tcpu         $tsys"
  40. E="0"
  41. fi

  42. sleep 1
  43. done
复制代码
发表于 2006-8-9 16:19:58 | 显示全部楼层
报错呀
+5V:    +12V:    Vio:   Vcc:    CPU Temp:    SYS Temp:
------------------------------------------------------
sensors.sh: line 1: sensors: command not found
sensors.sh: line 23: [: 9999: unary operator expected
sensors.sh: line 25: [: 9999: unary operator expected
sensors.sh: line 27: [: 9999: unary operator expected
sensors.sh: line 29: [: 9999: unary operator expected
sensors.sh: line 31: [: 20: unary operator expected
sensors.sh: line 33: [: 20: unary operator expected
sensors.sh: line 1: sensors: command not found
sensors.sh: line 23: [: 9999: unary operator expecte
回复 支持 反对

使用道具 举报

发表于 2006-8-10 21:13:08 | 显示全部楼层
sensors

你没装 sensors 这个软件。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-8-11 19:18:05 | 显示全部楼层
改进一下:
  1. #!/bin/bash
  2. # Bash script for recording lowest voltage and highest Temp.
  3. # License: GPL 2.0 and/or later.
  4. # Version: 0.0.3
  5. # Date   : 2006-08-11
  6. if  ! sensors > /dev/null 2>&1; then
  7. echo Please install lm_sensors first.
  8. fi
  9. # init variables
  10. V5=9999
  11. V12=9999
  12. Vcc=9999
  13. Vio=9999
  14. Tsys=20
  15. Tcpu=20
  16. E=0
  17. # print header
  18. echo "+5V:    +12V:    Vio:   Vcc:    CPU Temp:    SYS Temp:"
  19. echo "------------------------------------------------------"
  20. # Get and compare values, and set switch.
  21. while :; do a=`sensors`
  22. k=`echo -n "$a" | sed -n '/^+5V:/{s/^+5V:  *+\([0-9.]*\).*/\1/;s/\.//p}' `
  23. [ $V5 -gt $k ] && V5=$k && E="1"
  24. k=`echo "$a" | sed -n '/^+12V:/{s/^+12V:  *+\([0-9.]*\).*/\1/;s/\.//p}' `
  25. [ $V12 -gt $k ] && V12=$k && E="1"
  26. k=`echo "$a" | sed -n '/^I\/O/{s/^I\/O 3.3V:  *+\([0-9.]*\).*/\1/;s/\.//p}' `
  27. [ $Vio -gt $k ] && Vio=$k && E="1"
  28. k=`echo "$a" | sed -n '/^CPU core/{s/^CPU core:  *+\([0-9.]*\).*/\1/;s/\.//p}' `
  29. [ $Vcc -gt $k ] && Vcc=$k && E="1"
  30. k=`echo "$a" | sed -n '/^CPU Temp/{s/^CPU Temp:  *+\([0-9.]*\).*/\1/;s/\.//p}' `
  31. [ $Tcpu -lt $k ] && Tcpu=$k
  32. k=`echo "$a" | sed -n '/^SYS Temp/{s/^SYS Temp:  *+\([0-9.]*\).*/\1/;s/\.//p}' `
  33. [ $Tsys -lt $k ] && Tsys=$k
  34. # If switch is on, print out values, and reset switch.
  35. if [ $E -eq 1 ]; then
  36. v5=`echo -e "scale=2\n $V5 / 100"| bc`
  37. v12=`echo -e "scale=2\n $V12 / 100"| bc`
  38. vio=`echo -e "scale=2\n $Vio / 100"| bc`
  39. vcc=`echo -e "scale=2\n $Vcc / 100"| bc`
  40. tsys=`echo -e "scale=1\n $Tsys / 10"| bc`
  41. tcpu=`echo -e "scale=1\n $Tcpu / 10"| bc`
  42. echo "$v5    $v12    $vio   $vcc      $tcpu         $tsys"
  43. E="0"
  44. fi
  45. sleep 1
  46. done
复制代码

注:
我发现主板显示的电压和ATX电源的输出电压有时候不一样,因此,这个检测数据只是[color="Red"]作为参考;它不一定说明你的ATX电源有问题!!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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