Linux 服务器因 CPU 温度过高自动 shutdown
2011年11月25日 | 标签: cpu temperature, kernel, linux
昨天一台 Linux Xen 服务器莫名其妙就不能访问了,开始以为又碰到 server kernel: ip_conntrack: table full, dropping packet. 问题,没仔细看。后来过了2个小时又不能访问了,看了一下日志是服务器自己 shutdown 了,不是网络的问题。再看日志发现错误信息:
Nov 24 05:32:22 ivps kernel: ACPI: Critical trip point Nov 24 05:32:22 ivps kernel: Critical temperature reached (76 C), shutting down.
原因是 CPU 温度过高超过了警戒温度,查一下系统默认的警戒温度是75度,所以到了76度系统就自动 shutdown 了:
# cat /proc/acpi/thermal_zone/THRM/trip_points critical (S5): 75 C
服务器温度有这么高吗?查看一下当前温度吓一跳,刚启动的系统又到了74度,系统马上又要 shutdown 了:
# cat /proc/acpi/thermal_zone/THRM/temperature temperature: 74 C
紧急做法是暂时修改默认报警温度到85度:
# echo 85:0:80:60:0 > /proc/acpi/thermal_zone/THRM/trip_points # cat /proc/acpi/thermal_zone/THRM/trip_points critical (S5): 85 C
一般来说 CPU 温度超过70度都是很高的温度了,如果不是系统和程序的原因要赶紧检查服务器周围的环境,检查机房和机柜温度情况、服务器风扇、内部积灰等,让 CPU 和主板长时间工作在高温下可不是好事情。当然不同 CPU 所能耐的住的温度也不同,VPSee 推荐 Intel Core 2 Quad CPU 保持在70度以下,Intel Core i7 CPU 保持在80度以下,这样 CPU 和系统能全速工作发挥最大效率而温度又不至于损坏 CPU.