Android移植memtester
由于客户反馈在终端使用过一段时间后出现一些意想不到的问题,为了模拟消耗过多然后出现的问题,今天记录一下在android上面使用一个内存压力测试工具memtester在android上面的使用:
1.获取相关源码,下载地址如下:http://pyropus.ca/software/memtester/,或者通过wget的方式进行下载,具体如下wget http://pyropus.ca/software/memtester/old-versions/memtester-4.2.2.tar.gz,其中4.2.2是版本信息,可以是其他版本
2.解压源码到android源代码的external目录下面
3.使用下述的Android.mk文件进行编译
# used to gen: memtester
# by tangkw
# 2014-1-7
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := memtester
LOCAL_MODULE_TAGS := optional
# memtester source files
LOCAL_SRC_FILES := memtester.c tests.c
LOCAL_C_INCLUDES := $(LOCAL_PATH)/
include $(BUILD_EXECUTABLE)
4.配置好android编译环境后,在该源码目录下面使用mm -B -j32进行编译(有些平台可能不支持-B,可以除去此命令),此时就会生成memtester,然后将其push到android系统中然后执行就OK了。
5.Usage: memtester [-p physaddrbase] [B|K|M|G] [loops]
如:
memtester 100M 10 #测试100M内存消耗10次。
root@A920:/system/bin # ./memtester 100M 10
memtester version 4.2.2 (32-bit)
Copyright (C) 2010 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).
pagesize is 4096
pagesizemask is 0xfffff000
want 100MB (104857600 bytes)
got 100MB (104857600 bytes), trying mlock ...locked.
Loop 1/10:
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 : setting 160
最后附上编译OK的执行文件Android下memtester执行文件,方便读者使用。