Linux CPUInfo:CPU单核性能如何测试
小樊
32
2025-12-26 20:10:09
Linux CPU 单核性能测试方法
一、快速方法与命令
- 使用 sysbench 进行 CPU 质数计算(单线程)
- 安装:在 CentOS/RHEL 执行
yum install -y sysbench;在 Debian/Ubuntu 执行 apt-get install -y sysbench
- 单核测试:
sysbench cpu --threads=1 --cpu-max-prime=20000 run
- 解读:关注输出中的 events per second(每秒事件数),数值越高代表单核计算能力越强
- 使用 bc + time 做浮点计算(单线程)
- 命令:
time echo "scale=5000; 4*a(1)" | bc -l -q
- 解读:关注 real(墙上时间),计算到小数点后 5000 位用时越短,单核浮点性能越好
- 使用 UnixBench 单线程跑分
- 安装:
yum install -y gcc perl 或 apt-get install -y build-essential
- 单核测试:进入 UnixBench 目录执行
./Run -c 1
- 解读:关注 System Benchmarks Index,数值越高越好
- 使用 Geekbench 6 单核分数
- 下载并运行:
wget https://cdn.geekbench.com/Geekbench-6.2.2-Linux.tar.gz && tar -xvf Geekbench-6.2.2-Linux.tar.gz && cd Geekbench-6.2.2-Linux && ./geekbench6
- 解读:查看结果中的 Single-Core Score,分数越高越好
二、进阶方法与命令
- SuperPI 单核计算时间
- 方式一(bc):
time echo "scale=5000; 4*a(1)" | bc -l -q
- 方式二(编译版 SuperPI):
gcc -O -funroll-loops -fomit-frame-pointer pi_fftcs.c fftsg_h.c -lm -o pi_css5,运行 ./pi_css5 $((1<<20)) 计算小数点后 1M 位用时
- 解读:real time 越小,单核浮点/稳定性越好
- 编译耗时作为真实工作负载参考
- 命令:
time make -j1(单线程编译)
- 解读:实际项目的 构建时间 能直观反映单核在真实场景中的表现
三、结果解读与对比
- sysbench:优先看 events per second,单线程越高越好;不同质数上限(如 20000)会导致分数差异,跨机器对比请保持参数一致
- bc/SuperPI:关注 计算用时(real),在相同位数(如 5000 或 1M)下用时越短越好
- UnixBench:关注 System Benchmarks Index(单核),为综合指数,越高越好
- Geekbench:关注 Single-Core Score,跨平台可比性较好
- 建议:同机重复测试 ≥3 次取平均,并固定测试参数与命令,便于横向对比与回归验证
四、测试注意事项
- 绑定单核执行:使用
taskset -c <cpu_id> 固定到某个逻辑核,避免线程迁移影响结果,例如:taskset -c 0 sysbench cpu --threads=1 run
- 云主机与超线程:在部分虚拟化/云环境中,若 vCPU 未 PIN 住,同一物理核心的两个 vCPU 可能互相干扰;多进程同时跑时用时可能比单进程更长,解读需结合实例是否 PIN 住
- 环境与稳定性:在 非生产环境 测试,关闭不必要的服务与后台任务;确保电源策略为 性能模式、散热正常;对比测试时保持 工具版本与参数一致