不到两年前,我买了一个联想 ThinkPad R500。
当大量使用 CPU 时,它有时会决定重新启动(Ubuntu 会短暂显示“关机”消息)。
Linux 小部件向我显示了 CPU 温度。当第一个核心的温度超过 100°C 时,PC 通常会重新启动,但有时似乎还没有达到 80°C。
自从我从 Ubuntu 2010.10 32 位切换到 Ubuntu 2011.04 64 位后,它崩溃的频率就更高了。
在办公室时,我会使用笔记本散热器。
我把频率降到了 800 MHz,并将风扇设置为始终以最大速度运转(可见的结果是:噪音更大、风吹得更多),但这并不能防止崩溃的发生:
cpufreq-selector -c 0 -f 800000
cpufreq-selector -c 1 -f 800000
sudo rmmod thinkpad_acpi
sudo modprobe thinkpad_acpi fan_control=1
sudo thinkfan -n -c alwaysmax-thinkfan.conf
没有灰尘。我已经向笔记本电脑侧面和底部的通风口大量喷洒了空气。我还在拆下键盘和框架后清洁了内部。
我怎样才能找出问题所在?
答案1
暂时忘掉 ThinkPad,这不正常任何当 CPU 长时间处于 100% 状态时,笔记本电脑就会崩溃,但是,如果任何监控组件达到临界温度,几乎所有机器都会关闭,这都是正常的。
这仅仅意味着您的风扇/冷却装置不够或不能胜任工作。
首先,正如 Egon 在评论中所说,检查 BIOS 更新 - 如果其他人抱怨过类似的问题,制造商通常会发布更新,降低某些组件的频率或增加风扇速度/阈值。
如果这没有帮助,您可能需要检查是否有灰尘和污垢堵塞了风扇。
最后,如果您发现其他人遇到类似问题,您可能想直接向制造商投诉。
传感器可能有问题,但除了打开并使用温度计外,很难证明。
... 此外,我并不了解情况,但读到过有关 Linux 电源问题的文章,这显然会导致更多的热量积聚 - 话虽如此,这只会影响电池寿命……但是,它并不能解决与笔记本电脑散热有关的根本问题。
答案2
Ubuntu 中有一个错误可能与此相关:
https://bugs.launchpad.net/bugs/751689
有人报告说,他们可以通过强制启用 aspm 或将风扇调至全速来解决这个问题。我怀疑问题在于这些 ThinkPad 的 BIOS 存在缺陷,拒绝让风扇全速运转,而且它们会产生额外的热量,因为 GPU 依靠 ASPM 将 GPU 排队以在不使用时进入低功率状态,但最近的 Linux 内核尊重 BIOS 报告不支持 ASPM 的事实,因此禁用了它,这导致 GPU 发出更多热量。
答案3
其他人迄今为止尚未提及的事情:风扇在转吗?随着 CPU 变热,你能听到它启动和加速的声音吗?
安装传感器监控包。lm-sensors
提供命令行命令sensors
,但您必须先运行sudo /usr/sbin/sensors-detect
— GUI 选项也存在。Thinkpad 对其风扇具有良好的 ACPI 支持,或者至少我自 2004 年以来拥有的每一台 Thinkpad 都具有这种支持。这样做的一个好处是,您还可以获得 CPU 温度计。我的 T61p 报告单个风扇速度、CPU 核心温度(通过内部传感器)、迷你 PCI(即 WLAN 卡)温度、主板温度和 GPU 温度。
如果风扇没有启动,则问题就出在(第一个)罪魁祸首。您需要更换它。如果机器过了保修期,您也可以自己更换,但这是一个麻烦的小操作。请在光线充足的工作台上进行更换,获取服务手册并严格按照说明进行操作。您不想损害机器的这一部分。
如果风扇做开始,当它达到全速时,你能感觉到气流吗?在许多 ThinkPad 上,排气口位于左侧,进气口位于后部和/或底部。
您是否定期清洁散热通道?我老板和我有相同的 Thinkpad,但他的散热温度比前者高 10°C。他是个吸烟者,没有定期清洁通风口。灰尘是一种很好的绝缘体,即使风扇全速运转,气流也无法从散热器金属中带走足够的热量。为了清洁通风口,我使用了一个重型手动的像摄影师使用的吹风机(我个人最喜欢的— 比罐装空气便宜,对环境更友好,而且令人惊讶的是,它还能起到很好的锻炼作用)。将喷嘴放在进气口上,反复吹气。如果这是你第一次这样做,请在室外进行和/或戴上口罩。大量灰尘会从排气口排出。在我的车上,羽状物也会从左侧扬声器孔中喷出。
以下只是一些基本想法,可能不适用于您,因为您可以通过冷却笔记本电脑和/或降低 CPU 速度来解决问题。您几乎肯定应该专注于散热方面。
如果 CPU、GPU 等温度都正常,风扇自由转动并工作,而机器在努力工作时仍然崩溃,则还有其他(更令人沮丧的)诊断。主要怀疑(可能性从大到小)是:内存损坏、CPU 损坏、主板损坏或电源供应不足。
您可以非常轻松地测试内存。只需启动memtest86+
,您可以在 Ubuntu 上安装它(它将出现在您的 GRUB 启动菜单中)并让它完成工作。如果它发现坏内存,您有两个选择:更换内存,或者,如果损坏不大,告诉 Linux不要使用受损区域。如果您需要更换内存,请确保您的 Thinkpad 的所有内存均位于板外。有些 Thinkpad 将所有 RAM 都安装在 SODIMM 插槽上,而有些 Thinkpad 则将一部分 RAM 永久安装在主板上。如果您的板载 RAM 损坏,则必须更换主板。
如果发现 CPU 或主板损坏,情况也是如此,但我不知道如何确定。我的 Thinkpad 电脑虽然已经很旧了,但从来没有出现过此类问题。
答案4
关于 Thinkpad(至少是我的型号)的有趣事实:GPU 在物理上非常靠近 CPU,因此尽管 GPU 被配置成更高的温度,它仍然能够触发 CPU 热传感器。如果您将小部件也设置为显示 GPU,您可能会注意到该数字同样高,甚至更高。
许多型号的 Thinkpad 都有“可切换”显卡;如果你在 Linux 下使用高端卡,你将需要安装专有的 Catalyst 驱动程序,因为我发现通用驱动程序有一个错误,会导致 GPU 快速升温。