【EASY EAI Nano开源套件试用体验】存储性能测试

描述

本文来源电子发烧友社区,作者:李先生, 帖子地址:https://bbs.elecfans.com/jishu_2308803_1_1.html


前言



  嵌入式平台存储是影响综合性能的重要因素,所以本次对RAMEMM性能进行测试,RAM压力测试也是一个重要的测试用例,尤其是在高低温等情况下测试,可以考察系统的稳定性。
 
过程RAM性能测试
WSL
下载代码
git clone https://github.com/qinyunti/STREAM.git
cd STREAM/
 
编译
ARM-linux-gnueabihf-gcc -O3 stream.c -o stream
 
导出到windows
cp stream /mnt/d
 
然后通过串口rz导入到开发板
添加可执行权限
chmod +x stream

运行
./stream
结果如下
 


  1. [root@EASY-EAI-NANO:/]# ./stream
  2.  
  3. -------------------------------------------------------------
  4.  
  5. STREAM version $Revision: 5.10 $
  6.  
  7. -------------------------------------------------------------
  8.  
  9. This system uses 8 bytes per array element.
  10.  
  11. -------------------------------------------------------------
  12.  
  13. Array size = 10000000 (elements), Offset = 0 (elements)
  14.  
  15. Memory per array = 76.3 MiB (= 0.1 GiB).
  16.  
  17. Total memory required = 228.9 MiB (= 0.2 GiB).
  18.  
  19. Each kernel will be executed 10 times.
  20.  
  21. The *best* time for each kernel (excluding the first iteration)
  22.  
  23. will be used to compute the reported bandwidth.
  24.  
  25. -------------------------------------------------------------
  26.  
  27. Your clock granularity/precision appears to be 1 microseconds.
  28.  
  29. Each test below will take on the order of 74402 microseconds.
  30.  
  31.    (= 74402 clock ticks)
  32.  
  33. Increase the size of the arrays if this shows that
  34.  
  35. you are not getting at least 20 clock ticks per test.
  36.  
  37. -------------------------------------------------------------
  38.  
  39. WARNING -- The above is only a rough guideline.
  40.  
  41. For best results, please be sure you know the
  42.  
  43. precision of your system timer.
  44.  
  45. -------------------------------------------------------------
  46.  
  47. Function    Best Rate MB/s  Avg time     Min time     Max time
  48.  
  49. Copy:            2213.1     0.072951     0.072296     0.073413
  50.  
  51. Scale:           1526.0     0.105517     0.104846     0.108350
  52.  
  53. Add:             1181.8     0.203954     0.203082     0.205791
  54.  
  55. Triad:            954.5     0.253434     0.251431     0.255541
  56.  
  57. -------------------------------------------------------------
  58.  
  59. Solution Validates: avg error less than 1.000000e-13 on all three arrays
  60.  
  61. -------------------------------------------------------------
  62.  
  63. [root@EASY-EAI-NANO:/]#
复制代码


 
参考https://www.cs.virginia.edu/stream/ref.html
RAM压力测试
参考 https://pyropus.ca./software/memtester/
 
WSL
下载代码
tar -xvf memtester-4.5.1.tar.gz
cd memtester-4.5.1/
 
编译
arm-linux-gnueabihf-gcc -O3 memtester.c tests.c -o memtester
 
导出到WINDOWS,下载到开发板
cp memtester /mnt/d
 
chmod +x memtester
 
运行
./memtester
运行结果如下,默认一直测试下去,可以最后指定测试次数
比如
./memtester 128M 1
128M表示测试RAM大小

1表示测试一次
另外也可以-p直接指定物理地址,适合在板子开发阶段裸机代码直接指定物理地址测试。


  1. [root@EASY-EAI-NANO:/]# ./memtester 128M 1
  2.  
  3. memtester version 4.5.1 (32-bit)
  4.  
  5. Copyright (C) 2001-2020 Charles Cazabon.
  6.  
  7. Licensed under the GNU General Public License version 2 (only).
  8.  
  9.  
  10.  
  11. pagesize is 4096
  12.  
  13. pagesizemask is 0xfffff000
  14.  
  15. want 128MB (134217728 bytes)
  16.  
  17. got  128MB (134217728 bytes), trying mlock ...locked.
  18.  
  19. Loop 1/1:
  20.  
  21.   Stuck Address       : ok         
  22.  
  23.   Random Value        : ok
  24.  
  25.   Compare XOR         : ok
  26.  
  27.   Compare SUB         : ok
  28.  
  29.   Compare MUL         : ok
  30.  
  31.   Compare DIV         : ok
  32.  
  33.   Compare OR          : ok
  34.  
  35.   Compare AND         : ok
  36.  
  37.   Sequential Increment: ok
  38.  
  39.   Solid Bits          : ok         
  40.  
  41.   Block Sequential    : ok         
  42.  
  43.   Checkerboard        : ok         
  44.  
  45.   Bit Spread          : ok         
  46.  
  47.   Bit Flip            : ok         
  48.  
  49.   Walking Ones        : ok         
  50.  
  51.   Walking Zeroes      : ok         
  52.  
  53.  
  54.  
  55. Done.
复制代码


EMMC性能测试
 
dmesg | grep mmc
 
4GEMMC

[    0.626234] mmc0: new HS200 MMC card at address 0001
[    0.628264] mmcblk0: mmc0:0001 8GTF4R 7.28 GiB
 
EMMC速度为HS200
Speed Mode
clock (MHz)
Default Speed
26
Hight Speed SDR
52
Hight Speed DDR
52
HS200
200
HS400
200
df查看,使用/userdata目录进行读写测试


  1. [root@EASY-EAI-NANO:/]# df
  2.  
  3. Filesystem           1K-blocks      Used Available Use% Mounted on
  4.  
  5. /dev/root              1531442    593804    863917  41% /
  6.  
  7. devtmpfs                456488         0    456488   0% /dev
  8.  
  9. tmpfs                   457000         0    457000   0% /dev/shm
  10.  
  11. tmpfs                   457000       204    456796   0% /tmp
  12.  
  13. tmpfs                   457000       380    456620   0% /run
  14.  
  15. /dev/mmcblk0p7          127955      1684    122289   1% /oem
  16.  
  17. /dev/mmcblk0p8         5632783     38040   5370524   1% /userdata
复制代码


 
 
 
bs/count  1GB
指令
结果
16k/65536
time dd if=/userdata/test.bin of=/dev/null bs=16k count=65536
109MB/S
4k/262144
 
 
1k/1048576
 
 
16k/65536
time dd if=/dev/zero of=/userdata/test.bin bs=16k count=65536
38MB/S
4k/262144
 
 
1k/1048576
 
 
 


  1. [root@EASY-EAI-NANO:/]# time dd if=/dev/zero of=/userdata/test.bin bs=16k count=
  2.  
  3. 65536
  4.  
  5. 65536+0 records in
  6.  
  7. 65536+0 records out
  8.  
  9. real    0m 26.85s
  10.  
  11. user    0m 0.08s
  12.  
  13. sys     0m 16.77s
  14.  
  15. [root@EASY-EAI-NANO:/]# time dd if=/userdata/test.bin of=/dev/null bs=16k count=
  16.  
  17. 65536
  18.  
  19. 65536+0 records in
  20.  
  21. 65536+0 records out
  22.  
  23. real    0m 9.36s
  24.  
  25. user    0m 0.10s
  26.  
  27. sys     0m 4.54s
  28.  
  29. [root@EASY-EAI-NANO:/]#
复制代码


 
以上仅作参考,实际欸有考虑缓存的影响。
 
SD卡性能测试
EMMC测试,测试过程略。
SD卡自动挂载在/mnt/sdcard
总结
以上测试来看,性能是不错的,测试方法不是完全科学,比如EMMC读写没有考虑缓存,所以测试结果仅作参考。不同测试环境结果也可能不一样。

 

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分