Memtester
Memtester
主要是捕获内存错误和一直处于很高或者很低的坏位, 其测试的主要项目有随机值,异或比较,减法,乘法,除法,与或运算等等. 通过给定测试内存的大小和次数, 可以对系统现有的内存进行上面项目的测试。
官网: http://pyropus.ca/software/memtester/
下载源码memtester-4.3.0.tar.gz 解压到android源码的/externel/目录下
创建Android.mk文件用来编译memtester
c00390379@u138-103:~/aosp/external/memtester-4.3.0$ vi Android.mk
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_SRC_FILES := memtester.c tests.c LOCAL_MODULE := memtester LOCAL_C_INCLUDES := $(LOCAL_PATH) #LOCAL_MODULE_PATH := output path of module! include $(BUILD_EXECUTABLE)
c00390379@u138-103:~/aosp$ make -j86 memtester
生成二进制文件 out/target/product/generic_arm64/system/bin/memtester
将该文件push到/system/bin/目录中
参数介绍:
kirin970:/ # memtester
memtester version 4.3.0 (64-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).
pagesize is 4096
pagesizemask is 0xfffffffffffff000
need memory argument, in MB
Usage: memtester [-p physaddrbase [-d device]] <mem>[B|K|M|G] [loops]
-P 指定测试起始地址(可以不指定)
<mem>[B|K|M|G] 指定测试内存大小,默认为M
[loops] 指定测试次数 默认是无限
kirin970:/ # memtester 2000 1
memtester version 4.3.0 (64-bit)
Copyright (C) 2001-2012 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).
pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 2000MB (2097152000 bytes)
got 2000MB (2097152000 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 : testing 84

浙公网安备 33010602011771号