Linux 的 CPU 基准测试实用程序

Linux 的 CPU 基准测试实用程序

我正在寻找一个实用程序,用于在单线程和多线程实例下对 CPU 性能进行基准测试。目前,我有一台旧设备,配备 3.6 Ghz 的双核 CPU (E7500),我正在考虑将其替换为 3.2 Ghz 的四核 CPU (Q9400)。我想看看是否会注意到额外的 2 个内核的性能改进(尽管内核速度会下降)。我将使用相同的 FSB(400Mhz)对 CPU 进行时钟频率测试,每个 CPU 的缓存大小相同(1.5MB),并且我有 4GB 内存(有可能升级到 6GB)

我儿子主要用电脑玩 TF2(我仍在尝试让它在 Linux 下运行),我也用它进行一些视频编码(MP4 到 DVD)

我认为使用四核处理器会更好,但如果能提供任何反馈我将非常感激。

答案1

其实有一个名为sysbench

您可以使用以下方式安装:

sudo apt-get install sysbench

要进行 CPU 基准测试,您可以使用:

sysbench cpu run

这将运行单线程 CPU 基准测试。要使用多个线程,请使用:

sysbench --threads=16 cpu run

答案2

或者,也可以使用stress-ng。它有一个 CPU 压力测试,这是该工具内置的众多压力测试之一。CPU 压力测试包含许多不同的 CPU 压力方法,涵盖整数、浮点、位运算、混合计算、素数计算和各种计算。

安装使用:

sudo apt-get install stress-ng

要查看与 CPU 相关的压力方法,请使用:

stress-ng --cpu-method which

例如,要在 4 个 CPU 线程上对矩阵产品进行 60 秒的基准测试,请使用:

stress-ng --cpu 4 --cpu-method matrixprod  --metrics-brief --perf -t 60
stress-ng: info:  [15876] dispatching hogs: 4 cpu
stress-ng: info:  [15876] successful run completed in 60.00s (1 min, 0.00 secs)
stress-ng: info:  [15876] stressor      bogo ops real time  usr time  sys time   bogo ops/s   bogo ops/s
stress-ng: info:  [15876]                          (secs)    (secs)    (secs)   (real time) (usr+sys time)
stress-ng: info:  [15876] cpu              71657     60.00    239.60      0.00      1194.25       299.07
stress-ng: info:  [15876] cpu:
stress-ng: info:  [15876]            885,244,279,148 CPU Cycles                    14.75 B/sec
stress-ng: info:  [15876]          1,289,303,858,968 Instructions                  21.49 B/sec (1.456 instr. per cycle)
stress-ng: info:  [15876]            201,499,961,692 Cache References               3.36 B/sec
stress-ng: info:  [15876]                    790,424 Cache Misses                  13.17 K/sec ( 0.00%)
stress-ng: info:  [15876]            157,689,508,544 Branch Instructions            2.63 B/sec
stress-ng: info:  [15876]              1,232,539,732 Branch Misses                 20.54 M/sec ( 0.78%)
stress-ng: info:  [15876]              5,755,605,036 Bus Cycles                    95.92 M/sec
stress-ng: info:  [15876]            817,296,440,876 Total Cycles                  13.62 B/sec
stress-ng: info:  [15876]                      8,532 Page Faults Minor            142.19 sec  
stress-ng: info:  [15876]                          0 Page Faults Major              0.00 sec  
stress-ng: info:  [15876]                        220 Context Switches               3.67 sec  
stress-ng: info:  [15876]                          0 CPU Migrations                 0.00 sec  
stress-ng: info:  [15876]                          0 Alignment Faults               0.00 sec  

答案3

旧问题(尚未选定答案)

答案4

如果您没有 root 权限(例如托管 Web 服务器)

测量单芯:

-bash-4.2$ time cat </dev/urandom | head -c 1G | gzip >/dev/null

real    0m43.011s
user    0m42.608s
sys     0m8.819s

测量所有核心:

-bash-4.2$ time cat </dev/urandom | head -c 1G | pigz >/dev/null

real    0m13.870s
user    0m45.988s
sys     0m6.803s

如果你已经拥有pv但不想安装特殊的基准测试软件,那就更简单了

a@a-virtual-machine:~$ pv </dev/urandom | gzip >/dev/null 
 149MiB 0:00:04 [37.5MiB/s]
a@a-virtual-machine:~$ pv </dev/urandom | pigz >/dev/null 
 348MiB 0:00:02 [ 173MiB/s]

相关内容