一、测试环境
1. Atlas 200 DK(Model 3000)
设备型号:Atlas 200 DK(Model: 3000)
Operating System + Version: Ubuntu 18.04.6 LTS
CPU Type: 8核Cortex-A55
AI CPU number: 2
control CPU number: 6
RAM: 8GB
miscroSD: 128GB
CANN: 6.0.RC1.alpha005
HwHiAiUser@davinci-mini:~$ npu-smi info -t aicpu-config -i 0 -c 0
Current AI CPU number : 2
Current control CPU number : 6
Number of AI CPUs set : 2
Number of control CPUs set : 6
2. Atlas 200I DK A2
设备型号:Atlas 200I DK A2
Operating System + Version: Ubuntu 22.04 LTS
CPU Type: 4核TAISHANV200M处理器
AI CPU number: 0
control CPU number: 4
RAM: 4GB
miscroSD: 128GB
CANN Vertion: 7.0.RC1
HwHiAiUser@davinci-mini:~$ npu-smi info -t aicpu-config -i 0 -c 0
Current AI CPU number : 0
Current control CPU number : 4
Number of AI CPUs set : 0
Number of control CPUs set : 4
二、CPU性能测试
1. stress
工具
# 下载
sudo apt-get install stress
# 在4个CPU核心上进行测试,测试时间为60秒
stress --cpu 4 --timeout 60
2. SysBench
工具
SysBench
是一个跨平台的基准测试工具,用于评估计算机系统在不同负载条件下的性能。它模拟真实场景下的工作负载,提供多种测试模式,包括CPU、内存、磁盘、线程等方面的测试。
# 下载
sudo apt-get update
sudo apt-get install sysbench
# 使用4个线程,计算 0 到 20000 中最大的素数
sysbench --test=cpu --cpu-max-prime=20000 --threads=4 run
2.1 Atlas 200DK(Model: 3000)
在默认时间 10秒内,通过开启 6个线程计算 0 到 20000 中最大的素数。
HwHiAiUser@davinci-mini:~$ sysbench --test=cpu --cpu-max-prime=20000 --threads=6 run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.11 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 6
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 1913.06 # 所有线程每秒完成的事件数量
General statistics:
total time: 10.0020s # 总耗时
total number of events: 19140 # 10s内所有线程完成的事件数量
Latency (ms):
min: 3.12 # 完成一次事件的最小处理时间(ms)
avg: 3.13 # 完成一次事件的平均处理时间(ms)
max: 18.44 # 完成一次事件的最大处理时间(ms)
95th percentile: 3.13 # 95%的事件处理时间(ms)
sum: 59991.39 # 总共的处理时间(ms)
Threads fairness:
events (avg/stddev): 3190.0000/11.72 # 每个线程处理的事件数量(均值/标准差)- 单线程无意义
execution time (avg/stddev): 9.9986/0.00 # 每个线程处理的时间(均值/标准差)- 单线程无意义
2.2 Atlas 200I DK A2
在默认时间 10秒内,通过开启 4个线程计算 0 到 20000 中最大的素数。
root@davinci-mini:~# sysbench --test=cpu --cpu-max-prime=20000 --threads=4 run
WARNING: the --test option is deprecated. You can pass a script name or path on the command line without any options.
sysbench 1.0.20 (using system LuaJIT 2.1.0-beta3)
Running the test with following options:
Number of threads: 4
Initializing random number generator from current time
Prime numbers limit: 20000
Initializing worker threads...
Threads started!
CPU speed:
events per second: 1732.56
General statistics:
total time: 10.0017s
total number of events: 17339
Latency (ms):
min: 1.95
avg: 2.31
max: 22.21
95th percentile: 2.18
sum: 39979.19
Threads fairness:
events (avg/stddev): 4334.7500/85.37
execution time (avg/stddev): 9.9948/0.00
3. unixbench
工具
github源码:byte-unixbench
UnixBench:Linux VPS服务器性能测试跑分脚本
unixbench
是一个性能测试套件,主要针对Unix/Linux操作系统。
安装方式一
# 下载
wget http://www.vpsmark.com/sh/unixbench.sh
# 修改权限
chmod +x unixbench.sh
# 执行
bash ./unixbench.sh
安装方式二
ubuntu 下使用unixbench 这种benchmark 工具测试系统性能
下载软件包:UnixBench v5.1.3
# 下载
wget https://github.com/kdlucas/byte-unixbench/archive/refs/tags/v5.1.3.tar.gz
# 解压
tar -zxvf v5.1.3.tar.gz
cd byte-unixbench-5.1.3/UnixBench
# 修改Makefile
vim Makefile
# 设置不用图形化,注释掉
# GRAPHIC_TESTS = defined
# 编译
make -j6
# 执行
./Run
3.1 Atlas 200DK(Model: 3000)
执行测试
root@davinci-mini:/home/HwHiAiUser/Downloads# bash ./unixbench.sh
./unixbench.sh: line 4: yum: command not found
--2024-04-11 11:55:13-- https://github.com/kdlucas/byte-unixbench/archive/master.zip
Resolving github.com (github.com)... 140.82.112.4
Connecting to github.com (github.com)|140.82.112.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/kdlucas/byte-unixbench/zip/refs/heads/master [following]
--2024-04-11 11:55:14-- https://codeload.github.com/kdlucas/byte-unixbench/zip/refs/heads/master
Resolving codeload.github.com (codeload.github.com)... 20.205.243.165
Connecting to codeload.github.com (codeload.github.com)|20.205.243.165|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: ‘master.zip’
master.zip [ <=> ] 168.37K 1.05MB/s in 0.2s
2024-04-11 11:55:15 (1.05 MB/s) - ‘master.zip’ saved [172414]
./unixbench.sh: line 8: yum: command not found
Archive: master.zip
a07fcc03264915c624f0e4818993c5b4df3fa703
creating: byte-unixbench-master/
inflating: byte-unixbench-master/.gitignore
inflating: byte-unixbench-master/LICENSE.txt
inflating: byte-unixbench-master/README.md
creating: byte-unixbench-master/UnixBench/
inflating: byte-unixbench-master/UnixBench/.cproject
inflating: byte-unixbench-master/UnixBench/.project
inflating: byte-unixbench-master/UnixBench/Makefile
inflating: byte-unixbench-master/UnixBench/README
inflating: byte-unixbench-master/UnixBench/Run
inflating: byte-unixbench-master/UnixBench/USAGE
inflating: byte-unixbench-master/UnixBench/WRITING_TESTS
creating: byte-unixbench-master/UnixBench/pgms/
inflating: byte-unixbench-master/UnixBench/pgms/gfx-x11
inflating: byte-unixbench-master/UnixBench/pgms/index.base
inflating: byte-unixbench-master/UnixBench/pgms/multi.sh
inflating: byte-unixbench-master/UnixBench/pgms/tst.sh
inflating: byte-unixbench-master/UnixBench/pgms/unixbench.logo
creating: byte-unixbench-master/UnixBench/src/
inflating: byte-unixbench-master/UnixBench/src/arith.c
inflating: byte-unixbench-master/UnixBench/src/big.c
inflating: byte-unixbench-master/UnixBench/src/context1.c
inflating: byte-unixbench-master/UnixBench/src/dhry.h
inflating: byte-unixbench-master/UnixBench/src/dhry_1.c
inflating: byte-unixbench-master/UnixBench/src/dhry_2.c
inflating: byte-unixbench-master/UnixBench/src/dummy.c
inflating: byte-unixbench-master/UnixBench/src/execl.c
inflating: byte-unixbench-master/UnixBench/src/fstime.c
inflating: byte-unixbench-master/UnixBench/src/hanoi.c
inflating: byte-unixbench-master/UnixBench/src/looper.c
inflating: byte-unixbench-master/UnixBench/src/pipe.c
inflating: byte-unixbench-master/UnixBench/src/spawn.c
inflating: byte-unixbench-master/UnixBench/src/syscall.c
inflating: byte-unixbench-master/UnixBench/src/time-polling.c
inflating: byte-unixbench-master/UnixBench/src/timeit.c
inflating: byte-unixbench-master/UnixBench/src/ubgears.c
inflating: byte-unixbench-master/UnixBench/src/whets.c
creating: byte-unixbench-master/UnixBench/testdir/
inflating: byte-unixbench-master/UnixBench/testdir/cctest.c
inflating: byte-unixbench-master/UnixBench/testdir/dc.dat
inflating: byte-unixbench-master/UnixBench/testdir/large.txt
inflating: byte-unixbench-master/UnixBench/testdir/sort.src
./unixbench.sh: line 14: yum: command not found
make distr
make[1]: Entering directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
Checking distribution of files
./pgms exists
./src exists
./testdir exists
make[1]: Leaving directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
make programs
make[1]: Entering directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
gcc -o pgms/arithoh -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Darithoh src/arith.c
gcc -o pgms/register -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Ddatum='register int' src/arith.c
gcc -o pgms/short -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Ddatum=short src/arith.c
gcc -o pgms/int -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Ddatum=int src/arith.c
gcc -o pgms/long -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Ddatum=long src/arith.c
gcc -o pgms/float -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Ddatum=float src/arith.c
gcc -o pgms/double -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Ddatum=double src/arith.c
gcc -o pgms/hanoi -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/hanoi.c
gcc -o pgms/syscall -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/syscall.c
gcc -o pgms/context1 -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/context1.c
gcc -o pgms/pipe -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/pipe.c
src/pipe.c: In function ‘main’:
src/pipe.c:52:2: warning: ignoring return value of ‘pipe’, declared with attribute warn_unused_result [-Wunused-result]
pipe(pvec);
^~~~~~~~~~
gcc -o pgms/spawn -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/spawn.c
gcc -o pgms/execl -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/execl.c
In file included from src/execl.c:34:0:
src/big.c: In function ‘dummy’:
src/big.c:109:5: warning: ignoring return value of ‘freopen’, declared with attribute warn_unused_result [-Wunused-result]
freopen("masterlog.00", "a", stderr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/big.c:197:6: warning: ignoring return value of ‘freopen’, declared with attribute warn_unused_result [-Wunused-result]
freopen(logname, "w", stderr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/big.c:221:3: warning: ignoring return value of ‘dup’, declared with attribute warn_unused_result [-Wunused-result]
dup(pvec[0]);
^~~~~~~~~~~~
src/big.c:225:6: warning: ignoring return value of ‘freopen’, declared with attribute warn_unused_result [-Wunused-result]
freopen(logname, "w", stderr);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/big.c:318:4: warning: ignoring return value of ‘write’, declared with attribute warn_unused_result [-Wunused-result]
write(fcopy, cp->line, p - cp->line + 1);
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -o pgms/dhry2 -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -DHZ= ./src/dhry_1.c ./src/dhry_2.c
gcc -o pgms/dhry2reg -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -DHZ= -DREG=register ./src/dhry_1.c ./src/dhry_2.c
gcc -o pgms/looper -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/looper.c
gcc -o pgms/fstime -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/fstime.c
gcc -o pgms/whetstone-double -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -DDP -DGTODay -DUNIXBENCH src/whets.c -lm
make[1]: Leaving directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
make all
make[1]: Entering directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
make distr
make[2]: Entering directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
Checking distribution of files
./pgms exists
./src exists
./testdir exists
./tmp exists
./results exists
make[2]: Leaving directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
make programs
make[2]: Entering directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
make[2]: Nothing to be done for 'programs'.
make[2]: Leaving directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
make[1]: Leaving directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
sh: 1: 3dinfo: not found
# # # # # # # ##### ###### # # #### # #
# # ## # # # # # # # ## # # # # #
# # # # # # ## ##### ##### # # # # ######
# # # # # # ## # # # # # # # # #
# # # ## # # # # # # # ## # # # #
#### # # # # # ##### ###### # # #### # #
Version 5.1.3 Based on the Byte Magazine Unix Benchmark
Multi-CPU version Version 5 revisions by Ian Smith,
Sunnyvale, CA, USA
January 13, 2011 johantheghost at yahoo period com
------------------------------------------------------------------------------
Use directories for:
* File I/O tests (named fs***) = /backup/www.vpsmark.com/byte-unixbench-master/UnixBench/tmp
* Results = /backup/www.vpsmark.com/byte-unixbench-master/UnixBench/results
------------------------------------------------------------------------------
Use of uninitialized value in printf at ./Run line 1469.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1469.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1469.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1469.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1469.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1469.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1469.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1469.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1721.
Use of uninitialized value in printf at ./Run line 1722.
Use of uninitialized value in printf at ./Run line 1721.
Use of uninitialized value in printf at ./Run line 1722.
Use of uninitialized value in printf at ./Run line 1721.
Use of uninitialized value in printf at ./Run line 1722.
Use of uninitialized value in printf at ./Run line 1721.
Use of uninitialized value in printf at ./Run line 1722.
Use of uninitialized value in printf at ./Run line 1721.
Use of uninitialized value in printf at ./Run line 1722.
Use of uninitialized value in printf at ./Run line 1721.
Use of uninitialized value in printf at ./Run line 1722.
Use of uninitialized value in printf at ./Run line 1721.
Use of uninitialized value in printf at ./Run line 1722.
Use of uninitialized value in printf at ./Run line 1721.
Use of uninitialized value in printf at ./Run line 1722.
1 x Dhrystone 2 using register variables 1 2 3 4^[[D 5 6 7 8 9 10
1 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10
1 x Execl Throughput 1 2 3
1 x File Copy 1024 bufsize 2000 maxblocks 1 2 3
1 x File Copy 256 bufsize 500 maxblocks 1 2 3
1 x File Copy 4096 bufsize 8000 maxblocks 1 2 3
1 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10
1 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10
1 x Process Creation 1 2 3
1 x System Call Overhead 1 2 3 4 5 6 7 8 9 10
1 x Shell Scripts (1 concurrent) 1 2 3
1 x Shell Scripts (8 concurrent) 1 2 3
8 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10
8 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10
8 x Execl Throughput 1 2 3
8 x File Copy 1024 bufsize 2000 maxblocks 1 2 3
8 x File Copy 256 bufsize 500 maxblocks 1 2 3
8 x File Copy 4096 bufsize 8000 maxblocks 1 2 3
8 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10
8 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10
8 x Process Creation 1 2 3
8 x System Call Overhead 1 2 3 4 5 6 7 8 9 10
8 x Shell Scripts (1 concurrent) 1 2 3
8 x Shell Scripts (8 concurrent) 1 2 3
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: davinci-mini: GNU/Linux
OS: GNU/Linux -- 4.19.90+ -- #1 SMP Sat Jan 29 00:19:13 CST 2022
Machine: aarch64 (aarch64)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: (38.4 bogomips)
CPU 1: (38.4 bogomips)
CPU 2: (38.4 bogomips)
CPU 3: (38.4 bogomips)
CPU 4: (38.4 bogomips)
CPU 5: (38.4 bogomips)
CPU 6: (38.4 bogomips)
CPU 7: (38.4 bogomips)
11:55:23 up 2:16, 5 users, load average: 9.29, 9.16, 9.26; runlevel 2024-04-09
单CPU测试结果
------------------------------------------------------------------------
Benchmark Run: Thu Apr 11 2024 11:55:23 - 12:23:17
8 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 10001430.8 lps (10.0 s, 7 samples)
Double-Precision Whetstone 1848.3 MWIPS (9.7 s, 7 samples)
Execl Throughput 783.0 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 221838.8 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 65739.0 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 450755.6 KBps (30.0 s, 2 samples)
Pipe Throughput 527220.5 lps (10.0 s, 7 samples)
Pipe-based Context Switching 76938.5 lps (10.0 s, 7 samples)
Process Creation 3144.8 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 2812.0 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1380.5 lpm (60.0 s, 2 samples)
System Call Overhead 678161.6 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 10001430.8 857.0
Double-Precision Whetstone 55.0 1848.3 336.1
Execl Throughput 43.0 783.0 182.1
File Copy 1024 bufsize 2000 maxblocks 3960.0 221838.8 560.2
File Copy 256 bufsize 500 maxblocks 1655.0 65739.0 397.2
File Copy 4096 bufsize 8000 maxblocks 5800.0 450755.6 777.2
Pipe Throughput 12440.0 527220.5 423.8
Pipe-based Context Switching 4000.0 76938.5 192.3
Process Creation 126.0 3144.8 249.6
Shell Scripts (1 concurrent) 42.4 2812.0 663.2
Shell Scripts (8 concurrent) 6.0 1380.5 2300.9
System Call Overhead 15000.0 678161.6 452.1
========
System Benchmarks Index Score 473.6
8CPU测试结果
------------------------------------------------------------------------
Benchmark Run: Thu Apr 11 2024 12:23:17 - 12:52:00
8 CPUs in system; running 8 parallel copies of tests
Dhrystone 2 using register variables 59788848.2 lps (10.0 s, 7 samples)
Double-Precision Whetstone 12052.3 MWIPS (9.3 s, 7 samples)
Execl Throughput 4532.3 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 1105551.1 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 346210.4 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 930109.3 KBps (30.0 s, 2 samples)
Pipe Throughput 3153021.6 lps (10.0 s, 7 samples)
Pipe-based Context Switching 499082.3 lps (10.0 s, 7 samples)
Process Creation 12347.4 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 11320.7 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1490.0 lpm (60.1 s, 2 samples)
System Call Overhead 4056179.9 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 59788848.2 5123.3
Double-Precision Whetstone 55.0 12052.3 2191.3
Execl Throughput 43.0 4532.3 1054.0
File Copy 1024 bufsize 2000 maxblocks 3960.0 1105551.1 2791.8
File Copy 256 bufsize 500 maxblocks 1655.0 346210.4 2091.9
File Copy 4096 bufsize 8000 maxblocks 5800.0 930109.3 1603.6
Pipe Throughput 12440.0 3153021.6 2534.6
Pipe-based Context Switching 4000.0 499082.3 1247.7
Process Creation 126.0 12347.4 980.0
Shell Scripts (1 concurrent) 42.4 11320.7 2670.0
Shell Scripts (8 concurrent) 6.0 1490.0 2483.4
System Call Overhead 15000.0 4056179.9 2704.1
========
System Benchmarks Index Score 2069.1
======= Copy and paste your results to the VPSMARK =======
http://www.vpsmark.com/ .sh update - 2017-08-31
注意说明:比较CPU性能,既要比较单CPU的性能分数,也要比较8CPU的性能分数。
3.2 Atlas 200I DK A2
执行测试
root@davinci-mini:/home/HwHiAiUser/Downloads# time bash ./unixbench.sh
./unixbench.sh: line 4: yum: command not found
--2024-04-11 22:39:06-- https://github.com/kdlucas/byte-unixbench/archive/master.zip
Resolving github.com (github.com)... 20.205.243.166
Connecting to github.com (github.com)|20.205.243.166|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://codeload.github.com/kdlucas/byte-unixbench/zip/refs/heads/master [following]
--2024-04-11 22:39:06-- https://codeload.github.com/kdlucas/byte-unixbench/zip/refs/heads/master
Resolving codeload.github.com (codeload.github.com)... 20.205.243.165
Connecting to codeload.github.com (codeload.github.com)|20.205.243.165|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: unspecified [application/zip]
Saving to: ‘master.zip’
master.zip [ <=> ] 168.37K 340KB/s in 0.5s
2024-04-11 22:39:08 (340 KB/s) - ‘master.zip’ saved [172414]
./unixbench.sh: line 8: yum: command not found
Archive: master.zip
a07fcc03264915c624f0e4818993c5b4df3fa703
creating: byte-unixbench-master/
inflating: byte-unixbench-master/.gitignore
inflating: byte-unixbench-master/LICENSE.txt
inflating: byte-unixbench-master/README.md
creating: byte-unixbench-master/UnixBench/
inflating: byte-unixbench-master/UnixBench/.cproject
inflating: byte-unixbench-master/UnixBench/.project
inflating: byte-unixbench-master/UnixBench/Makefile
inflating: byte-unixbench-master/UnixBench/README
inflating: byte-unixbench-master/UnixBench/Run
inflating: byte-unixbench-master/UnixBench/USAGE
inflating: byte-unixbench-master/UnixBench/WRITING_TESTS
creating: byte-unixbench-master/UnixBench/pgms/
inflating: byte-unixbench-master/UnixBench/pgms/gfx-x11
inflating: byte-unixbench-master/UnixBench/pgms/index.base
inflating: byte-unixbench-master/UnixBench/pgms/multi.sh
inflating: byte-unixbench-master/UnixBench/pgms/tst.sh
inflating: byte-unixbench-master/UnixBench/pgms/unixbench.logo
creating: byte-unixbench-master/UnixBench/src/
inflating: byte-unixbench-master/UnixBench/src/arith.c
inflating: byte-unixbench-master/UnixBench/src/big.c
inflating: byte-unixbench-master/UnixBench/src/context1.c
inflating: byte-unixbench-master/UnixBench/src/dhry.h
inflating: byte-unixbench-master/UnixBench/src/dhry_1.c
inflating: byte-unixbench-master/UnixBench/src/dhry_2.c
inflating: byte-unixbench-master/UnixBench/src/dummy.c
inflating: byte-unixbench-master/UnixBench/src/execl.c
inflating: byte-unixbench-master/UnixBench/src/fstime.c
inflating: byte-unixbench-master/UnixBench/src/hanoi.c
inflating: byte-unixbench-master/UnixBench/src/looper.c
inflating: byte-unixbench-master/UnixBench/src/pipe.c
inflating: byte-unixbench-master/UnixBench/src/spawn.c
inflating: byte-unixbench-master/UnixBench/src/syscall.c
inflating: byte-unixbench-master/UnixBench/src/time-polling.c
inflating: byte-unixbench-master/UnixBench/src/timeit.c
inflating: byte-unixbench-master/UnixBench/src/ubgears.c
inflating: byte-unixbench-master/UnixBench/src/whets.c
creating: byte-unixbench-master/UnixBench/testdir/
inflating: byte-unixbench-master/UnixBench/testdir/cctest.c
inflating: byte-unixbench-master/UnixBench/testdir/dc.dat
inflating: byte-unixbench-master/UnixBench/testdir/large.txt
inflating: byte-unixbench-master/UnixBench/testdir/sort.src
./unixbench.sh: line 14: yum: command not found
make distr
make[1]: Entering directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
Checking distribution of files
./pgms exists
./src exists
./testdir exists
make[1]: Leaving directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
make programs
make[1]: Entering directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
gcc -o pgms/arithoh -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Darithoh src/arith.c
gcc -o pgms/register -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Ddatum='register int' src/arith.c
gcc -o pgms/short -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Ddatum=short src/arith.c
gcc -o pgms/int -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Ddatum=int src/arith.c
gcc -o pgms/long -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Ddatum=long src/arith.c
gcc -o pgms/float -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Ddatum=float src/arith.c
gcc -o pgms/double -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -Ddatum=double src/arith.c
gcc -o pgms/hanoi -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/hanoi.c
gcc -o pgms/syscall -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/syscall.c
gcc -o pgms/context1 -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/context1.c
gcc -o pgms/pipe -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/pipe.c
src/pipe.c: In function ‘main’:
src/pipe.c:52:9: warning: ignoring return value of ‘pipe’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
52 | pipe(pvec);
| ^~~~~~~~~~
gcc -o pgms/spawn -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/spawn.c
gcc -o pgms/execl -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/execl.c
In file included from src/execl.c:34:
src/big.c: In function ‘dummy’:
src/big.c:109:5: warning: ignoring return value of ‘freopen’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
109 | freopen("masterlog.00", "a", stderr);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/big.c:197:13: warning: ignoring return value of ‘freopen’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
197 | freopen(logname, "w", stderr);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/big.c:221:17: warning: ignoring return value of ‘dup’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
221 | dup(pvec[0]);
| ^~~~~~~~~~~~
src/big.c:225:13: warning: ignoring return value of ‘freopen’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
225 | freopen(logname, "w", stderr);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/big.c:318:25: warning: ignoring return value of ‘write’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
318 | write(fcopy, cp->line, p - cp->line + 1);
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -o pgms/dhry2 -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -DHZ= ./src/dhry_1.c ./src/dhry_2.c
gcc -o pgms/dhry2reg -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -DHZ= -DREG=register ./src/dhry_1.c ./src/dhry_2.c
gcc -o pgms/looper -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/looper.c
gcc -o pgms/fstime -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME src/fstime.c
gcc -o pgms/whetstone-double -Wall -pedantic -O3 -ffast-math -march=native -mtune=native -I ./src -DTIME -DDP -DGTODay -DUNIXBENCH src/whets.c -lm
make[1]: Leaving directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
make all
make[1]: Entering directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
make distr
make[2]: Entering directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
Checking distribution of files
./pgms exists
./src exists
./testdir exists
./tmp exists
./results exists
make[2]: Leaving directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
make programs
make[2]: Entering directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
make[2]: Nothing to be done for 'programs'.
make[2]: Leaving directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
make[1]: Leaving directory '/backup/www.vpsmark.com/byte-unixbench-master/UnixBench'
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
sh: 1: 3dinfo: not found
# # # # # # # ##### ###### # # #### # #
# # ## # # # # # # # ## # # # # #
# # # # # # ## ##### ##### # # # # ######
# # # # # # ## # # # # # # # # #
# # # ## # # # # # # # ## # # # #
#### # # # # # ##### ###### # # #### # #
Version 5.1.3 Based on the Byte Magazine Unix Benchmark
Multi-CPU version Version 5 revisions by Ian Smith,
Sunnyvale, CA, USA
January 13, 2011 johantheghost at yahoo period com
------------------------------------------------------------------------------
Use directories for:
* File I/O tests (named fs***) = /backup/www.vpsmark.com/byte-unixbench-master/UnixBench/tmp
* Results = /backup/www.vpsmark.com/byte-unixbench-master/UnixBench/results
------------------------------------------------------------------------------
Use of uninitialized value in printf at ./Run line 1469.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1469.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1469.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1469.
Use of uninitialized value in printf at ./Run line 1470.
Use of uninitialized value in printf at ./Run line 1721.
Use of uninitialized value in printf at ./Run line 1722.
Use of uninitialized value in printf at ./Run line 1721.
Use of uninitialized value in printf at ./Run line 1722.
Use of uninitialized value in printf at ./Run line 1721.
Use of uninitialized value in printf at ./Run line 1722.
Use of uninitialized value in printf at ./Run line 1721.
Use of uninitialized value in printf at ./Run line 1722.
1 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10
1 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10
1 x Execl Throughput 1 2 3
1 x File Copy 1024 bufsize 2000 maxblocks 1 2 3
1 x File Copy 256 bufsize 500 maxblocks 1 2 3
1 x File Copy 4096 bufsize 8000 maxblocks 1 2 3
1 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10
1 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10
1 x Process Creation 1 2 3
1 x System Call Overhead 1 2 3 4 5 6 7 8 9 10
1 x Shell Scripts (1 concurrent) 1 2 3
1 x Shell Scripts (8 concurrent) 1 2 3
4 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10
4 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10
4 x Execl Throughput 1 2 3
4 x File Copy 1024 bufsize 2000 maxblocks 1 2 3
4 x File Copy 256 bufsize 500 maxblocks 1 2 3
4 x File Copy 4096 bufsize 8000 maxblocks 1 2 3
4 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10
4 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10
4 x Process Creation 1 2 3
4 x System Call Overhead 1 2 3 4 5 6 7 8 9 10
4 x Shell Scripts (1 concurrent) 1 2 3
4 x Shell Scripts (8 concurrent) 1 2 3
========================================================================
BYTE UNIX Benchmarks (Version 5.1.3)
System: davinci-mini: GNU/Linux
OS: GNU/Linux -- 5.10.0+ -- #1 SMP Fri Oct 20 19:51:59 CST 2023
Machine: aarch64 (aarch64)
Language: en_US.utf8 (charmap="ANSI_X3.4-1968", collate="ANSI_X3.4-1968")
CPU 0: (96.0 bogomips)
CPU 1: (96.0 bogomips)
CPU 2: (96.0 bogomips)
CPU 3: (96.0 bogomips)
22:39:14 up 26 min, 3 users, load average: 17.52, 17.66, 14.62; runlevel Apr
单CPU测试结果
------------------------------------------------------------------------
Benchmark Run: Thu Apr 11 2024 22:39:14 - 23:07:09
4 CPUs in system; running 1 parallel copy of tests
Dhrystone 2 using register variables 11002628.9 lps (10.0 s, 7 samples)
Double-Precision Whetstone 2567.2 MWIPS (9.5 s, 7 samples)
Execl Throughput 887.9 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 334852.0 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 115729.6 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 826218.1 KBps (30.0 s, 2 samples)
Pipe Throughput 509469.2 lps (10.0 s, 7 samples)
Pipe-based Context Switching 75052.1 lps (10.0 s, 7 samples)
Process Creation 3462.5 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 3496.5 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1116.1 lpm (60.0 s, 2 samples)
System Call Overhead 473475.9 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 11002628.9 942.8
Double-Precision Whetstone 55.0 2567.2 466.8
Execl Throughput 43.0 887.9 206.5
File Copy 1024 bufsize 2000 maxblocks 3960.0 334852.0 845.6
File Copy 256 bufsize 500 maxblocks 1655.0 115729.6 699.3
File Copy 4096 bufsize 8000 maxblocks 5800.0 826218.1 1424.5
Pipe Throughput 12440.0 509469.2 409.5
Pipe-based Context Switching 4000.0 75052.1 187.6
Process Creation 126.0 3462.5 274.8
Shell Scripts (1 concurrent) 42.4 3496.5 824.7
Shell Scripts (8 concurrent) 6.0 1116.1 1860.1
System Call Overhead 15000.0 473475.9 315.7
========
System Benchmarks Index Score 551.0
4CPU测试结果
------------------------------------------------------------------------
Benchmark Run: Thu Apr 11 2024 23:07:09 - 23:35:13
4 CPUs in system; running 4 parallel copies of tests
Dhrystone 2 using register variables 36845595.2 lps (10.0 s, 7 samples)
Double-Precision Whetstone 8682.8 MWIPS (9.8 s, 7 samples)
Execl Throughput 2779.9 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 1071347.1 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 379154.4 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 865191.6 KBps (30.0 s, 2 samples)
Pipe Throughput 1715069.9 lps (10.0 s, 7 samples)
Pipe-based Context Switching 246971.9 lps (10.0 s, 7 samples)
Process Creation 7716.3 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 8359.6 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1150.8 lpm (60.1 s, 2 samples)
System Call Overhead 1630399.7 lps (10.0 s, 7 samples)
System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 36845595.2 3157.3
Double-Precision Whetstone 55.0 8682.8 1578.7
Execl Throughput 43.0 2779.9 646.5
File Copy 1024 bufsize 2000 maxblocks 3960.0 1071347.1 2705.4
File Copy 256 bufsize 500 maxblocks 1655.0 379154.4 2291.0
File Copy 4096 bufsize 8000 maxblocks 5800.0 865191.6 1491.7
Pipe Throughput 12440.0 1715069.9 1378.7
Pipe-based Context Switching 4000.0 246971.9 617.4
Process Creation 126.0 7716.3 612.4
Shell Scripts (1 concurrent) 42.4 8359.6 1971.6
Shell Scripts (8 concurrent) 6.0 1150.8 1918.1
System Call Overhead 15000.0 1630399.7 1086.9
========
System Benchmarks Index Score 1413.9
======= Copy and paste your results to the VPSMARK =======
http://www.vpsmark.com/ .sh update - 2017-08-31
real 56m6.413s
user 46m47.169s
sys 48m27.982s
三、内存性能测试
memtester是一款内存压力测试工具,通过测试给定内存大小所用的时间来查看内存的性能。
下载 memtester
# 下载
wget https://pyropus.ca./software/memtester/old-versions/memtester-4.6.0.tar.gz --no-check-certificate
# 解压
tar -xvzf memtester-4.6.0.tar.gz
# 编译
cd memtester-4.6.0
make -j6
Atlas 200DK(Model: 3000)
# 对1G内存测试1次
time ./memtester 1G 1
Loop 1/1:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : ok
Walking Ones : ok
Walking Zeroes : ok
8-bit Writes : ok
16-bit Writes : ok
Done.
real 1m47.132s
user 1m35.300s
sys 0m9.781s
Atlas 200I DK A2
# 对1G内存测试1次
time ./memtester 1G 1
root@davinci-mini:~/Downloads/memtester-4.6.0# time ./memtester 1G 1
memtester version 4.6.0 (64-bit)
Copyright (C) 2001-2020 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).
pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 1024MB (1073741824 bytes)
got 1024MB (1073741824 bytes), trying mlock ...locked.
Loop 1/1:
Stuck Address : ok
Random Value : ok
Compare XOR : ok
Compare SUB : ok
Compare MUL : ok
Compare DIV : ok
Compare OR : ok
Compare AND : ok
Sequential Increment: ok
Solid Bits : ok
Block Sequential : ok
Checkerboard : ok
Bit Spread : ok
Bit Flip : ok
Walking Ones : ok
Walking Zeroes : ok
8-bit Writes : ok
16-bit Writes : ok
Done.
real 17m25.442s
user 17m19.288s
sys 0m1.607s