前言

最近有个群友找我问如何测试Linux主机的性能,第一个想到的就是老牌测试工具UnixBench,于是找来了一份开启研究之路…

准备与下载

安装UnixBench之前,需要确保系统中存在makegcc等编译工具和git相信很多人都会有这些吧
Debian、Ubuntu等系统可以使用sudo apt install build-essential git来安装这些工具。
安装完毕后即可使用下列命令从GitHub获取UnixBench:

git clone https://github.com/kdlucas/byte-unixbench.git

获取完成后,进入byte-unixbench目录中的UnixBench目录。

编译与跑分

进入UnixBench目录后,首先输入make来编译跑分工具。
编译完成后,输入LC_ALL=C ./Run运行跑分工具。

PS:系统语言是英语的话,可以把前面的LC_ALL=C去掉,如果在非英文系统上直接执行./Run可能会出现Wide character in printf at ./Run line xxxx.的报错消息。
PPS:运行跑分工具前,请确保已经关闭了所有可能占用CPU的程序,以保证结果准确!

此时UnixBench将会开始进行单线程和多线程的所有测试,需要大约一个小时的时间,耐心等待吧……

在树莓派等非x86架构的设备上执行本工具时可能会出现Use of uninitialized value in printf at ./Run line xxx的报错信息,对测试过程没有影响,可以忽略。猜测可能是因为在获取处理器特性时获取到空值导致。

测试完成后,软件会输出详尽的测试结果,并会将其保存至results目录下以供日后查阅。

查看结果

测试结束后,软件会在results目录下以主机名-日期-序号为格式生成三个后缀不同的文件,其中无后缀的文件为刚刚在终端内输出的测试结果,.html后缀的文件为前者中的结果生成的HTML文件,.log后缀的文件包含了测试细节。打开生成的HTML文件就可以看到系统信息、单线程和多线程的测试结果啦~

系统信息
单线程性能
多线程性能

其他设备的测试结果

本人制作了一个在线文档,可在此查看其他设备的测试结果哦!

各位可以通过收集表提供手头设备的结果,也可以在评论区中提交,我会不定期同步~