我有一台 Vaio VGN-CR353 笔记本电脑,这是 2012 年 9 月或 10 月左右别人送给我的,我在上面安装了 Ubuntu。我已经把它变成了一台非常私人的笔记本电脑,并在 wine 下安装了游戏(SC2、冰雪王座)、几个 IDE(Sublime Text 2、Eclipse、Netbeans),没有任何问题……直到去年 11 月。
你知道,直到 11 月的最后一周,我才触及内部结构,当时我确定不是软件导致了这个问题。
Ubuntu 报告称,温度经常达到 95C 或 105C 的临界值并自动关机。我已经通过以下方式解决了该问题:
- 掸掉内部的灰尘。令人惊讶的是,一开始就很干净。
- 清除了风扇和水槽中的少量积垢。
- 已经重新涂抹了几次导热膏,以防万一我涂错了。目前正在测试不同的应用技术。还选择了纳米金刚石来排除由于化合物引起的短路。
- 将水槽重新固定好。甚至将固定水槽的臂稍微弯曲一点,以确保水槽尽可能固定紧。
- 确保通风口畅通
- 买了一个冷却器
- 购买更大的“橡胶支脚”,将笔记本电脑抬高。笔记本电脑现在距离平面至少 1 厘米
- 由于 Linux 内核 2.6 到 3.2 存在过热问题,因此重新安装了不同版本的 Ubuntu。目前使用的是 3.5 内核(Lubuntu 12.10)。
但是,在解决这些问题后,过热问题仍然存在。过热发生在以下情况:
- 即使没有安装 Flash 插件,我也可以使用任何浏览器(Firefox、Chromium)上网(因此 Flash 不是罪魁祸首)
- 我通过终端将文件复制到一个 39GB 的外部硬盘上。不同寻常的是,使用 GUI 进行复制时它不会过热。
- 使用 Netbeans,即使只是编写代码,甚至还未进行编译。
- 隨機!
- 即使我在非常冷的学校计算机实验室里。
- 全新安装 Windows 后
限制:
- 没有风扇的 BIOS 设置,也没有处理器的频率设置(这是索尼,你还指望什么?)
- lm-sensors 无法检测风扇传感器或除 CPU 核心和主板之外的任何其他传感器,因为众所周知 Vaio 笔记本电脑并未实现此类功能。
我已经安装了 lm-sensors 和 gkrellm 来监控温度。我目前可以看到两个 CPU 核心和 ACPI 温度。不同寻常的是,我从未看到它们超过 60C。目前,最新的温度读数范围为:新启动时 32C、室温下 43C、中等负载(多标签浏览)下 49C 和使用 Netbeans 时 53C。奇怪的是,每次使用时温度波动很大。
此外,有时即使笔记本电脑感觉不到任何热度,系统也会报告已达到临界温度,就像前段时间在实验室里一样。
直到现在,我还在与笔记本电脑进行这场战争。我是否错过了一个可以扭转局面并一劳永逸地解决这个问题的重要程序?我已经没有主意了。
更新1:
目前正在通过 Firefox 下载另一台笔记本电脑的驱动程序。CPU 使用率为 80% 和 21%,两个核心的温度分别为 58C 和 51C。ACPI 温度为 60C,磁盘使用率(由于下载而写入)高达 205KB/s。内存使用率约为 500MB。目前还没有过热。
更新2:
在运行 Prime95 之前,我已经测试了几天的 Windows 安装和使用情况。Windows 上也发生了同样的事情。唯一的区别是,与 Linux 半正常关闭机器不同,Windows 上会直接关闭!就像突然拔掉插头一样。
因此这不是 Linux 的问题。
更新3:
设法在 Linux 上获取并运行 Prime95。令人惊讶的是,我甚至可以将笔记本电脑的两个核心负载推至 100%,内存使用率 100%,温度达到约 90C稳定的并且不会超过(测试了 10-15 分钟),也不会过热。我只是想知道为什么机器突然报告 95C 和 105C。
更新4:
拆开笔记本电脑进行彻底清洁,然后重新组装。没什么异常,只是一层薄薄的灰尘。之后,我运行了 Prime95 30 分钟,以证明笔记本电脑不会过热。它甚至最高温度达到 91*C,平均温度为 85*C。一定是传感器出了问题。
更新5: 最后运行一个脚本,以对数图的形式监控温度,而不是仅仅观察当前温度的上升。修改这篇文章的脚本监控我的设备上的 ACPI(GKrellM 将其标记为 ACPI)、核心和 HDD 温度每秒。然后我在不同场景下使用笔记本电脑,例如上网、编译代码、低功耗模式、平衡和高模式。
然后,我惊奇地发现,ACPI 传感器在一瞬间飙升至临界值!此事件触发了操作系统热保护,从而关闭了 PC。我有一个温度日志(ACPI、Core1、Core2、HDD)和来自的临界警告。/var/log/syslog
我还有我制作的日志图表。你可以看到,在这个每秒日志中,它突然升至惊人的 111 摄氏度,超出了 40-50 的范围。不仅如此,实际上还有没有什么就是这个原因。正如您在日志和图表中看到的那样,HDD 和核心运行正常。是 ACPI 出了问题。
顺便说一下,“ACPI”温度来自这条路径:/sys/class/thermal/thermal_zone0/temp
答案1
三个月过去了,终于找到了问题所在。这是一个硬件问题,而且那个看起来像垃圾广告的印度网站说得没错(这里就不贴了,因为它是一个商业实体),这是芯片级损坏,许多 Vaio 笔记本电脑都存在这种问题。
所以最好的,也可能是唯一的解决方案是将其转交给最近的服务中心维修。如果在保修期内,那就没问题。如果不是,那就得花几块钱了。你最好买一台新笔记本。
无论如何,我找到了另一种解决方法,但非常危险。我分享这个只是为了告知大家有一种方法可以解决这个问题,但也有其弊端。这不是一个明智的建议,只是说这是可能的。
此危险举动涉及禁用 Linux 的 ACPI 关键跳变点。为此,必须编辑其 grub 文件:
gksudo leafpad /etc/default/grub
并添加thermal.nocrt=-1
如下GRUB_CMDLINE_LINUX_DEFAULT
内容:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash thermal.nocrt=1"
然后更新 grub:
sudo update-grub
然后重新启动。
这会禁用 ACPI 关键跳闸点,但不会禁用热传感器,以便我们之后仍能进行监控。
完成这些操作后,我运行了我的记录器脚本。但是,为了弥补自然触发点处理程序的缺失,我将 GKrellM 设置为在事件发生时触发操作。由于 GKrellM 通常会延迟,因此最好知道,当它超过触发点时,它已经超过该点很长时间了。
然后我继续我的日常工作。这样做之后,系统再次跳闸。然而,这是一个突然的峰值,它甚至没有在 GKrellM 中记录,但我的记录器记录了它。这是一个非常突然的峰值,就是这样。
答案2
我的 HP 笔记本电脑也遇到过类似的问题,对我来说答案很简单,就是自定义省电选项或 BIOS 命令在 Linux 下不起作用。
所以基本上问题出在索尼身上,他们不希望它具有除 Windows 之外的其他功能。