前言
大家好,我是JACK,本篇是服务器硬件基础系列第二篇,上一篇我们整体介绍了服务器各模块,这篇我们重点聊CPU,结合我实际测试鲲鹏920的经验来讲。
一、CPU是什么
CPU(Central Processing Unit)是服务器的核心计算单元,负责处理所有逻辑运算和任务调度,可以理解为服务器的大脑,所有程序的运行都离不开CPU的参与。
服务器CPU和普通PC的CPU相比:
-
核心数更多,动辄32核、64核甚至128核
-
支持多路配置,一台服务器可以插2路、4路CPU协同工作
-
支持ECC内存,自动纠正内存错误
-
更注重长时间高负载下的稳定性
二、鲲鹏920简介
鲲鹏920是华为推出的服务器处理器,基于ARM架构,是目前信创领域最主流的服务器CPU之一。
和传统x86 CPU的主要区别:
-
指令集不同:x86是Intel主导的架构,鲲鹏920基于ARM架构,软件需要适配
-
能效比更好:ARM架构在同等性能下功耗更低
-
国产自主可控:符合信创要求,广泛应用于政企、金融等领域
三、CPU功能验证
拿到服务器第一步,先用lscpu确认CPU信息是否和规格一致:
lscpu
主要核对以下信息:
-
Architecture:架构类型(aarch64代表ARM架构)
-
CPU(s):总核心数是否正确
-
Model name:CPU型号是否一致
-
CPU MHz:当前运行频率
四、CPU测试方法
CPU测试主要分两类:压力测试和性能测试。
1. 压力测试
压力测试的目的是验证CPU在满负载情况下能否长时间稳定运行。
压测时长参考:
-
快速验证:30分钟,日常简单验证用
-
标准测试:2-4小时,出货前标准烤机时长
-
严格测试:8-12小时,对稳定性要求高的场景
-
极限测试:24小时以上,高可靠性要求或定制项目
压测跑法:
单工具跑 — 简单直接,只跑一个工具验证基本稳定性
Prime95
./mprime -t
stress/stress-ng
# 所有核心跑满
stress --cpu $(nproc) --timeout 3600
# stress-ng更丰富的压力模式
stress-ng --cpu $(nproc) --cpu-method matrixprod --timeout 3600
组合跑 — CPU+内存同时压,更接近真实负载:
stress-ng --cpu $(nproc) --vm 4 --vm-bytes 80% --timeout 3600
分阶段跑 — 先性能后压力,有条理:
-
第一步:跑STREAM性能测试,记录跑分基准
-
第二步:跑stress-ng稳定性压力
-
第三步:全程收集ipmitool温度日志分析
全负载混合跑 — CPU、内存、磁盘、网络同时压,模拟服务器真实高压场景,是最严格的测试方式。
2. 性能测试
使用STREAM测试内存带宽,反映CPU访存性能:
gcc -O3 -fopenmp stream.c -o stream
./stream
STREAM会输出四个指标:
-
Copy:内存复制带宽
-
Scale:内存缩放带宽
-
Add:内存加法带宽
-
Triad:综合带宽,最具参考价值
重点关注Triad值是否达到参考标准,如果明显偏低,需要检查内存通道是否插满、内存频率是否正确。
五、压测时温度监控
压测期间必须同步监控温度,建议持续采集日志方便事后分析。
方式一:ipmitool(推荐)
# 查看温度传感器
ipmitool sensor list | grep -i temp
# 查看风扇转速
ipmitool sensor list | grep -i fan
# 查看功耗
ipmitool sensor list | grep -i power
# 持续采集温度日志
watch -n 5 'ipmitool sensor list | grep -i temp' >> temp_log.txt
方式二:BMC Web端
登录服务器BMC管理界面,在传感器页面实时查看温度、风扇、功耗数据,界面直观,适合快速巡检。
六、常见问题及排查
实际测试中最常遇到的问题是压力跑不上去,可能原因和排查方法:
1. CPU频率上不去
-
检查BIOS中性能模式是否开启,建议设置为Performance模式
-
查看当前CPU调速策略:
cpupower frequency-info
- 查看当前频率:
cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq
2. 温度过高导致降频
-
CPU温度过高会自动降频保护,叫热降频
-
压测期间用ipmitool持续监控温度
-
如果温度异常高,检查散热器安装是否到位、风扇转速是否正常
3. CPU使用率上不去
- 压测时用top实时观察CPU使用率是否真正跑满:
top
-
如果使用率上不去,检查是否有进程限制或NUMA绑核问题
4. 内存带宽跑分低
-
STREAM跑分低可能是内存通道没有插满
-
检查内存插槽是否按推荐位置安装,鲲鹏920建议内存对称安装
七、测试时需要记录的数据
每次CPU测试完,建议记录以下数据:
| 指标 | 说明 |
|------|------|
| CPU最高温度 | 压测期间峰值温度,正常不超过95℃ |
| CPU频率 | 是否维持在额定频率 |
| 系统负载 | 是否真正跑满所有核心 |
| STREAM Triad | 内存综合带宽跑分 |
| 压测时长 | 根据测试要求选择对应时长 |
八、总结
CPU测试核心关注三点:能跑满、温度正常、跑分达标。根据不同场景选择合适的压测时长和跑法,配合ipmitool持续监控温度日志,才能全面验证CPU的健康状态。
下一篇我们聊内存详解,包括ECC、频率、容量以及内存测试方法,敬请期待!
欢迎关注JACK的服务器笔记!