当前位置:   article > 正文

使用memtester工具对嵌入式Linux内存压力测试_memtester内存压力测试占用内存越来越多(1)_linux memtester

linux memtester

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

#Hi3520DV400平台编译

conf-cc

arm-hisiv400-linux-gcc -O2 -DPOSIX -D_POSIX_C_SOURCE=200809L -D_FILE_OFFSET_BITS=64 -DTEST_NARROW_WRITES -c

conf-ld

arm-hisiv500-linux-gcc -s

#RK3399平台编译

conf-cc

aarch64-linux-gnu-gcc -O2 -DPOSIX -D_POSIX_C_SOURCE=200809L -D_FILE_OFFSET_BITS=64 -DTEST_NARROW_WRITES -c

conf-ld

aarch64-linux-gnu-gcc -s


<  



【3】编译和安装


  执行“make”编译生成可执行文件“memtester”;然后执行“make install”将执行文件安装到系统,并加入环境变量。嵌入式环境下,我们一般不选择安装,直接把可执行文件拷贝到系统执行即可。


  

### 3.2 使用


#### 3.2.1 命令使用格式


  memtester工具使用命令格式为`memtester [-p 内存物理起始地址] [测试内存大小B/K/M/G] [测试次数]`。命令格式不是固定的,可以省略部分。


* 省略测试次数,则连续进行测试,直到手动结束
* 省略内存物理起始地址,则由系统随机选择空闲内存测试


  

实例:



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32

#对1G内存测试100次
./memtester 1G 100

#对2G内存进行连续测试
./memtester 2G

#从0x00010000地址开始测试1G内存100次
./memtester -p 0x10000 1G 100


  

  更详细的介绍和使用说明可执行`more README`查看。


  

#### 3.2.2 测试结果


  如果有测试项不通过,会输出对应的异常项目;否则会循环测试,直到测试次数完成或者手动结束。


  我们首先在X64 Ubuntu上编译测试。



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

#查看可执行文件类型
acuity@ubuntu:/mnt/hgfs/LSW/software/memtester-4.5.0$ file memtester
memtester: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-linux-x86-64.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=a0dcd3ddc63cb0aa9defa6db7a065195ed9c28cd, stripped


  

* 首先查看系统剩余空闲内存,确保测试内存不要超出剩余空间


  


  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9

#free命令查看的内存大小单位为K
acuity@ubuntu:/mnt/hgfs/LSW/software/memtester-4.5.0$ free
total used free shared buff/cache available
Mem: 8156736 261328 6498036 13748 1397372 7541972
Swap: 0 0 0


  

* 执行测试



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

#对100M内存测试2次
./memtester 100M 2
Loop 1/2:
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

Loop 2/2:
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.


  如果存在测试失败项,会有提示“failure”,进而意味内存芯片本身存在问题或者PCB稳定性存在问题。


  

## 4 在RK3399平台上测试


  修改配置文件,交叉编译在RK3399板子上测试,通过U盘、以太网、WiFi等手段将可执行文件拷贝到板子上。以下方式通过U盘方式执行。


  

* 第一步,接入U盘后,查看存储名称,这里为sda1



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18

firefly@firefly:~$ cat /proc/partitions
major minor #blocks name

1 0 4096 ram0
179 0 15267840 mmcblk1
179 1 4096 mmcblk1p1
179 2 4096 mmcblk1p2
179 3 32768 mmcblk1p3
179 4 32768 mmcblk1p4
179 5 15083503 mmcblk1p5
179 96 4096 mmcblk1rpmb
179 64 4096 mmcblk1boot1
179 32 4096 mmcblk1boot0
8 0 15649792 sda
8 1 15649776 sda1


  

* 第二步,手动挂载到`"/home"`目录(可以挂载到任意目录),这一步需要root权限。



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

root@firefly:~# mount -t vfat /dev/sda1 /home


  

* 第三步,进入`"/home"`目录,将memtester拷贝到`"/usr"`目录;然后切换至`"/usr"`目录,并执行。



  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

root@firefly:~# cd /home
root@firefly:~# cp memtester /usr
root@firefly:~# cd /usr
root@firefly:/usr# ./memtester 1G 1


  此时memtester文件可能没有执行权限,需修先改文件属性为“可执行”,再执行。



  • 1
  • 2
  • 3
  • 4
  • 5

收集整理了一份《2024年最新物联网嵌入式全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升的朋友。
img
img

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

XN2k-1715710744149)]
[外链图片转存中…(img-znxAhljl-1715710744151)]

如果你需要这些资料,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人

都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Li_阴宅/article/detail/925299
推荐阅读
相关标签
  

闽ICP备14008679号