Archlinux风扇设置
在笔记本(ThinkPad T440)连续两天因过热而死机后, 对内核的风扇控制算法果断失去信心.
风扇的用户层控制接口是 /proc/acpi/ibm/fan, 但为防止用户控制不当烧坏机器, 默认情况下并没有对用户开放控制权. 这个由内核模块 thinkpad_acpi 控制, 可在加载该内核模块时传递参数 fan_control=1 打开风扇控制开关. 如果安装了 thinkfan 的话, 它包含文件 /usr/lib/modprobe.d/thinkpad_acpi.conf, 其文件内容为:
options thinkpad_acpi fan_control=1
这样以后在开启启动加载 thinkpad_acpi 模块时会自动传递参数 fan_control=1 以便打开用户层控制开关.
然后就可以向 /proc/acpi/ibm/fan 写如特定数据控制风扇了, 比如说:
echo enable/disable > /proc/acpi/ibm/fan: 启用/禁用风扇;echo level 1-7 > /proc/acpi/ibm/fan: 设置风扇转速为 1-7 级, 等级越高转速越大;echo level auto > /proc/acpi/ibm/fan: 由内核模块控制风扇转速(这就是默认配置, 烧死机了...);echo level full-speed/disengaged > /proc/acpi/ibm/fan: 风扇启动最大转速(要的就是这种情况~~~);
注: /proc/acpi/ibm/fan 还支持其他很多控制参数, 详情可查阅 thinkpad_acpi 模块文档.
上面提到的 thinkfan 就是一个通过传感器检测硬件温度来实现自动控制风扇转速的工具. 它的配置文件是 /etc/thinkfan.conf, 支持两种格式:
- 简单模式;
- 复杂模式.
1. 简单模式:
# 配置传感器
hwmon /sys/devices/virtual/thermal/thermal_zone0/temp
# 配置风扇控制接口(默认是: /proc/acpi/ibm/fan)
tp_fan /proc/acpi/ibm/fan
# 配置风扇等级与温度之间的关系
(0, 0, 55)
(1, 48, 60)
(2, 50, 61)
(3, 52, 63)
(4, 56, 65)
(5, 59, 66)
(7, 63, 32767)
配置风扇等级与温度之间的关系时, 每一行分三列, 第一列是风扇转速等级, 第二列和第三列是启用当前等级的最低和最高温度. 注意每一级的最低和最高温度与上一级的最高温度和下一级的最低温度都有重合. 当配置有多个传感器时, 取值最大(温度最高)的一个.
这种模式配置简单, 但只支持配置 1-7 等级的转速, 不能配置 auto/full-speed.
2. 复杂模式:
复杂模式就要复杂一点, 它支持配置多个传感器, 支持为每个传感器设置温度阈值. 最重要的是, 它支持 auto/full-speed.
为了省电和降温, 就配置了两条温度规则:
# 配置传感器
hwmon /sys/devices/virtual/thermal/thermal_zone0/temp
# 配置风扇控制接口(默认是: /proc/acpi/ibm/fan)
tp_fan /proc/acpi/ibm/fan
{ "level auto"
(0)
(55)
}
{ "level disengaged"
(50)
(100)
}
配置 OK 后重启 thinkfan 服务使之生效.
我最开始用的是 简单模式, 在最初几天相安无事, 但后来又发生了过热死机的问题, 于是切换到 复杂模式 的配置, 就靠上面两条规则达到低温省电高温全速转起来的效果~~~
参考链接:
Archlinux风扇设置的更多相关文章
- [adminitrative][archlinux][setfont] 设置console的字体大小
电脑的分辨率高了之后,用命令行进入的时候,完全看不清楚,是否容易导致眼瞎. 第一步便把字体调大就成了很必要的操作. 使用一个命令能马上生效: setfont 使用配置文件 /etc/vconsole. ...
- Archlinux休眠设置
2017-03-11 更新: 优化部分文字描述; 默认情况下禁用 swap 分区, 当执行休眠操作时先启用 swap 分区, 然后再执行休眠操作(给 /usr/bin/{swapon,swapoff} ...
- (二 -5) 天猫精灵接入Home Assistant-自动发现Mqtt设备--电风扇
官网:https://www.home-assistant.io/components/fan.mqtt/ 1 添加配置文件 要在安装中启用MQTT风扇,请将以下内容添加到您的configuratio ...
- 轻量级桌面 openbox + tint2 + conky + stalonetray + pcmanfm + xcompmgr
openbox+tint2+pnmixer+conky=轻量级archlinux桌面环境设置备忘 缘起 机器上的Ubuntu 12.04有一段时间没有使用了,最近在用的时候发现频繁死机的情况,开始以为 ...
- 3D打印切片软件Cura及CuraEngine原理分析
引言 年初开始进入3D打印行业,受命以Cura为基础,研发一款自主的3D打印切片软件. 自主研发要取其长处,补其不足,首先自然是要搞清楚Cura到底做了什么,读Cura的代码是必需的.我一向都觉得比起 ...
- Linux命令总结大全,包含所有linux命令
使用说明:此文档包含所有的Linux命令,只有你想不到的没有你看不到的,此文档共计10万余字,有8400多行,预计阅读时间差不多需要3个小时左右,所以要给大家说一说如何阅读此文档 为了方便大家阅读,我 ...
- 为archlinux终端ls不同类型文件设置不同显示颜色
title: 为archlinux终端ls不同类型文件设置不同显示颜色 date: 2017-11-13 20:53:55 tags: linux categories: linux archlinu ...
- ArchLinux 设置时间同步和硬件时间同步错误 No usable clock interface found
笔记本不知道怎么了,总是时间对不上 硬件时间也设置不了,只能时间同步了 手动时间同步 ntpdate即可,ntp服务器在这里用这两个就好了 cn.ntp.org.cn 或 edu.ntp.org.cn ...
- ArchLinux下LXDE的安装与设置心得
安装 首先安装基本的桌面环境: $ sudo pacman -S lxde 奇怪的是默认并没有安装面板lxpanel,而且源里也没有,只好从AUR安装之: $ yaourt -S lxpanel-sv ...
随机推荐
- xCode中去除“Implicit declaration of function 'sysctl' is invalid in C99” 警告
http://blog.csdn.net/dreambegin/article/details/8609121 一般出现该问题是因为通过C调用了unix/linux 底层接口,所以需要调整c语言的编译 ...
- 获取URL中的文件的扩展名
问题: 尽可能多地写出获取文件扩展名的方法: //方法一(分割数组) function getExt($url){ $arr = explode('.',$url); $len = count($ar ...
- ubuntu软件包管理
ubuntu安装好了后首先要会下载和管理系统的软件包:ubuntu的软件管理方式是apt-get 安装软件包apt-get harvey@ubuntu:/var/cache/apt$ which ap ...
- .apache.commons.io 源代码学习(一)
java的初学者,准备通读各种高水平源代码,提升能力. 为了避免自己的惰性,写博客. 版本:2.5 开发平台:netbeans. 今天是第一天,网上先看个例子:http://www.importnew ...
- C# web server的开发流程
http://blog.csdn.net/h0322/article/details/4776819
- Python的程序结构[1] -> 方法/Method[0] -> 类实例方法、私有方法和抽象方法
类实例方法.私有方法和抽象方法 Python中最常用的就是类实例方法,类似于属性中的类实例属性,同时,也存在与私有属性类似方法,即私有方法,下面介绍这两种常见的方法,以及一种特殊意义的类实例方法 -- ...
- spark-groupByKey
一般来说,在执行shuffle类的算子的时候,比如groupByKey.reduceByKey.join等. 其实算子内部都会隐式地创建几个RDD出来.那些隐式创建的RDD,主要是作为这个操作的一些中 ...
- sqldeveloper 英文设置
在软件ide\bin目录下找到sqldeveloper.conf或ide.conf,加入 C:\Program Files (x86)\sqldeveloper\ide\bin AddVMOption ...
- 编码/解码和进制转化工具hURL
编码/解码和进制转化工具hURL 在安全应用中,各种编码方式被广泛应用,如URL编码.HTML编码.BASE64等.而在数据分析时候,各种进制的转化也尤为频繁.为了方便解决这类问题,Kali Li ...
- MySQL注入工具sqlsus
MySQL注入工具sqlsus sqlsus是使用Perl语言编写的MySQL注入和接管工具.它可以获取数据库结构,实施注入查询,下载服务器的文件,爬取可写目录并写入后门,以及复制数据库文件等功能 ...