
凌晨三点,监控告警:服务器离线。你登录云控制台,发现机器状态是“已停止”。不是重启,是彻底关机。你点启动,它又起来了。你查了日志,没有kernel panic,没有OOM,没有任何软件报错。
硬件在跟你捉迷藏。
软件问题会留下日志。硬件问题不会。它只会让服务器突然消失,然后等你发现。今天聊6个硬件故障排查步骤,帮你找出那个“偶尔发疯”的零件。
先看一个数据
Backblaze的年度硬盘报告显示,约1.5%-2%的硬盘会在一年内故障。但硬件故障不只是硬盘。电源、内存、主板、散热,每个都可能成为那个“突然关机”的元凶。更麻烦的是,硬件故障往往是间歇性的——你重启之后它好了,下周又来一次。
不找出哪个零件坏了,你永远在赌。
第一步:看日志,排除软件问题
硬件排查之前,先确认不是软件导致的。
bash
# 查看系统关机记录 last -x | grep shutdown # 查看内核日志 dmesg -T | grep -i "error\|fail\|panic" # 查看系统日志 journalctl --since "1 hour ago" | grep -i "temperature\|power\|hardware"
如果看到“thermal throttle”(温度降频)或“power loss”(电源丢失),说明是硬件。如果看到“kernel panic”或“OOM”,那可能是软件或内存不足。如果日志干干净净,什么都没留下,硬件嫌疑最大。
第二步:检查温度(最常见的原因)
服务器过热会自动关机保护。
bash
# 安装传感器工具 sudo apt install lm-sensors -y sudo sensors-detect --auto sensors
阈值参考:
- CPU:超过85°C危险,超过95°C会关机
- 硬盘:超过55°C危险
- 主板/芯片组:超过70°C危险
如果温度过高:
- 清灰:机箱内部、CPU散热器、电源风扇
- 检查风扇:不转的风扇要换
- 改善通风:不要塞在角落,前后留空间
- 机房的空调温度是否正常
反常识点:服务器在冬天也可能过热。灰尘堵住散热片,风扇老化转速下降,这些和季节无关。
第三步:测试内存(Memtest86)
内存故障会导致随机重启、死机、文件损坏。普通系统检查工具测不出来。需要用Memtest86。
操作步骤:
- 下载Memtest86(免费版即可)
- 制作启动U盘
- 从U盘启动,让它跑一个完整循环(Pass)
时间:16GB内存大概30-60分钟。测试通过标准:0 errors。但凡有一个错误,内存就要换。不用纠结“偶尔才出错”,内存错了就要换。
第四步:检查硬盘健康(SMART)
硬盘故障前会有征兆。
bash
sudo apt install smartmontools -y sudo smartctl -H /dev/sda
如果状态是PASSED,继续看详细数据:
bash
sudo smartctl -A /dev/sda | grep -E "Reallocated|Pending|Uncorrectable"
危险信号:
Reallocated_Sector_Ct> 0Current_Pending_Sector> 0Offline_Uncorrectable> 0
数值大于0意味着硬盘已经有坏道。即使还能用,也建议尽快换新盘。
第五步:检查电源
电源问题是间歇性关机的头号元凶。但电源没有自检工具,只能靠观察和替换。
观察:
- 电源风扇是否转动
- 关机后,主板上有没有指示灯亮(待机电源)
- 电源是否有异响(滋滋声、咔哒声)
测试方法(最原始但最有效):
- 换一个已知正常的电源,运行几天
- 如果换了之后不再关机,就是电源的问题
- 如果换了还关,再找下一个嫌疑
如果是云服务器,跳过这一步,因为电源是云厂商的,你换不了。直接提工单让他们检查宿主机硬件。
第六步:检查主板(最麻烦的环节)
如果以上都查过了,关机还在继续,可能是主板故障。
主板问题的典型表现:
- 开机后随机重启,没有蓝屏或报错
- 某些接口(USB、SATA、网口)间歇性失灵
- 主板上的电容鼓包、漏液(肉眼可见)
检查方法:
- 目视检查:看电容有没有鼓包、漏液,主板有没有烧焦痕迹
- 最小化测试:只留CPU、一根内存、电源,拔掉所有硬盘和扩展卡,观察是否还会关机
- 替换测试:用另一块主板替换,这是最后的手段
对于托管服务器,联系机房换主板。对于办公室自用服务器,可能需要换整机。
真实案例
一台办公室里的文件服务器,每周随机关机一次。查日志,什么都没有。查温度,正常。查内存,Memtest86跑了一夜,0错误。查硬盘,SMART正常。换了一个电源,连续跑了两周,没再关机。
原电源的电容老化,输出不稳,偶尔电压波动触发主板保护。机箱里看着正常,用仪器测电压才知道。故障判断只能靠换件排除。
排查顺序建议
按概率从高到低排查:
- 温度(最容易出问题,最容易查)
- 内存(Memtest86跑一遍)
- 电源(替换法)
- 硬盘(SMART)
- 主板(最后才怀疑)
如果是云服务器:提工单,把排查结果(温度、内存、硬盘)附上,要求换宿主机。云厂商通常不让你自己换硬件,但可以帮你迁移到另一台物理机。
最后一句
硬件故障排查难,难在它不留日志。你只能靠排除法,一个一个试。
下次服务器突然关机,别光重启。花半小时走一遍这6步。找到坏的那个零件,把它换掉。
你省下的不是一次维修的时间,是无数个半夜被叫醒的睡眠。




