降低笔记本温度过热¶
在使用MacBook Pro笔记本电脑 模拟云计算的Studio ,如果发现笔记本电脑的风扇持续高速运行,并且笔记本非常热,可以采用本文介绍的一些技术来降低系统温度。
备注
Linux 4.20 Fixing Bug Where Plugging In A MacBook Pro Leads To Excessive CPU Usage 说明上游内核4.20或5.0修复了一个插入或拔出最新款苹果MacBook Pro笔记本电源将导致CPU资源过渡消耗问题。此外,最新的MacBook Pro笔记本不能开箱即用,主要存在无限问题,以及没有主线内核的Touch Bar驱动等,所以当前对于2018年版本MacBook笔记本,Linux尚不能很好支持。
对于运行在笔记本尚的Linux,需要考虑采用一些手段来防止笔记本过热引发的问题,包括控制CPU温度,监控硬件温度。
安装防止笔记本过热的工具¶
TLP¶
TLP 是一个Linux电源管理工具,这是一个预先配置的防止过热的服务,可以延长电池寿命。TLP默认已经配置了电池优化,所以只需要简单安装就可以生效,不需要特别配置。
sudo add-apt-repository ppa:linrunner/tlp
sudo apt-get update
sudo apt-get install tlp tlp-rdw
如果使用ThinkPad,还需要附加步骤:
sudo apt-get install tp-smapi-dkms acpi-call-dkms
然后重启系统
备注
TLP Linux Advanced Power Management 详细介绍了TLP工作原理和配置,
禁用Thunderbolt¶
Linux的电源管理管理对于Mac的Thunderbolt卡支持不好,这样Thunderbolt始终工作并阻止CPU进入节电状态,即使在不使用时也会消耗2W电力。
修改
/etc/default/grub
设置:GRUB_CMDLINE_LINUX="ipv6.disable=1 acpi_osi=!Darwin"
执行更新grub:
sudo update-grub
备注
我测试下来似乎禁用TB adapter有效,当然也可能和启用TLP有关。
Intel Linux Thermal Daemon¶
Intel开源的Linux* Thermal Daemon 提供了对台式机和笔记本系统的高性能环境下结合P-states, T-states 以及Intel power clamp驱动来实现的节能。
激活
intel_pstate
(这个激活可能在高版本Ubuntu中不需要,因为实践发现,即使没有在内核显式激活,进入系统依然可以发现已经采用了intel_pstate
,不过,我这里依然采用明确激活。即编辑/etc/default/grub
添加:GRUB_CMDLINE_LINUX="ipv6.disable=1 acpi_osi=!Darwin intel_pstate=enable"
然后执行 sudo update-grub
安装 cpupower 工具:
sudo apt-get install linux-tools-common linux-tools-generic
执行
cpupower frequency-info
检查确认已经具备了driver: intel_pstate
重启系统后检查默认的电源管理策略:
cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_governor
显示应该是:
powersave
如果不是powersave,可以通过如下命令设置powersave策略:
sudo cpupower frequency-set -g performance
如果不想节能,而是要追求最佳性能,也可以设置性能最佳策略:
sudo cpupower frequency-set -g performance
安装themald:
sudo apt install thermald
备注
实际发现系统已经安装了 thermald
,而且已经运行。如果是TLP之前安装的,则说明对系统降低温度最有效的是TLP。
温度监控¶
对于服务器硬件的监控,底层是采用 lm-sensors 提供了对硬件监控驱动的支持。
安装:
sudo apt install lm-sensors
安装以后,需要执行一次
sensors-detect
指令,以便能够检测出系统的硬件:sudo sensors-detect
注意:最后会提示是否将检测到驱动添加到 /etc/modules
,如果你满意自动检测结果,则回答 yes
,否则需要手工编辑配置文件。
备注
我计划参考 Lm-sensors or other way to monitor cpu, board temperatures 提供的线索,采用 Netdata 或者 telegraf 实现完整的硬件监控解决方案。