![升级 gcc 编译器时,核心温度超过阈值 CPU 时钟节流](https://linux22.com/image/1531279/%E5%8D%87%E7%BA%A7%20gcc%20%E7%BC%96%E8%AF%91%E5%99%A8%E6%97%B6%EF%BC%8C%E6%A0%B8%E5%BF%83%E6%B8%A9%E5%BA%A6%E8%B6%85%E8%BF%87%E9%98%88%E5%80%BC%20CPU%20%E6%97%B6%E9%92%9F%E8%8A%82%E6%B5%81.png)
我有一台戴尔笔记本电脑,我正在使用 CentOS 6.9 供个人使用,直到昨天我尝试将默认 gcc 编译器(4.4.7)升级到 4.9.x 版本,它一直运行良好。我已经成功从 gcc 镜像下载了 gcc 包,但是当我尝试使用制作命令,它构建了一些文件,然后自动关机并显示“超过阈值”消息。当我重新启动它时,该消息再次出现,它再次自动关机。要重新启动它,我不得不等待几分钟让笔记本电脑冷却,然后它才能启动。
我不知道为什么现在会发生这种情况。如果这是硬件问题,那么在我尝试升级 gcc 之前就会发生这种情况。但只有在尝试升级 gcc 之后,才出现此问题,并且现在仍在发生。
我检查了消息日志(/var/log/messages)并发现了以下内容:-
kernel: CPU0: Core temperature above threshold, cpu clock throttled (total events = 1)
kernel: CPU2: Core temperature above threshold, cpu clock throttled (total events = 1)
kernel: CPU2: Core temperature/speed normal
kernel: CPU0: Core temperature/speed normal
kernel: intel ips 0000:00:1f.6: MCP limit exceeded: Avg temp 9038, limit 9000
kernel: Critical temperature reached (87 C), shutting down.
请帮忙
答案1
使用 进行构建make
,可能在多个核心上,显然会使用大量的 CPU,因此它们运行时发热也就不足为奇了。
在笔记本电脑中,根据设计,CPU 可以短时间发热,但之后必须降速降温。其原理是,大多数笔记本电脑的使用情况只需要 CPU 短时间活动,中间有较长的暂停时间,以便 CPU 再次降温。
如果您的笔记本电脑紧急关机(根据您的描述,我不太确定),您需要一些监控 CPU 温度并在温度过高之前对其进行节流的程序。有好几个这样的程序,但我对 CentOS 不熟悉,所以我不能说您使用的是哪个。查找类似thermald
、cpupower
或 的内容cpufreqd
。