ram test

1. pattern test

 memtest :  used it in bootloader for data/address bus test

  http://www.barrgroup.com/Embedded-Systems/How-To/Memory-Test-Suite-C

  http://www.barrgroup.com/code/memtest.zip.

2.  stress test

  memtester  : 

  http://blog.youkuaiyun.com/fybon/article/details/52982082

  it is similar to QCOM's QMESA


  https://github.com/json-pu/AndroidEatMemory    //low memory test 


// cd m/system/utils/memtest_mode

run stress test for DRAM as below.

1 phone turn off

2. Plug in charger
3. Wait for charge only mode/screen
4. Press vol up, up , down, down, up, up, down , down, and power key long press
5. Phone screen will move to RAM test mode
6. Press power key for run/auto memory allocation. 

put the phone into temp chamber with set to 55C or 60, and -20C, respectively, until test numberof cycle reaches up to over 10k, for each temperature.

============================================================================================ ===

we can use these cmd to run memtester in different performance status .

adb shell stop thermal-engine 
adb shell stop thermald 
adb shell "echo 1 > /sys/devices/system/cpu/cpu0/online" 
adb shell "echo 1 > /sys/devices/system/cpu/cpu1/online" 
adb shell "echo 1 > /sys/devices/system/cpu/cpu2/online" 
adb shell "echo 1 > /sys/devices/system/cpu/cpu3/online" 
adb shell "echo 1 > /sys/devices/system/cpu/cpu4/online" 
adb shell "echo 1 > /sys/devices/system/cpu/cpu5/online" 
adb shell "echo 1 > /sys/devices/system/cpu/cpu6/online" 
adb shell "echo 1 > /sys/devices/system/cpu/cpu7/online" 
adb shell "echo performance > /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor" 
adb shell "echo performance > /sys/devices/system/cpu/cpu4/cpufreq/scaling_governor" 


adb shell "echo 1 > /sys/class/kgsl/kgsl-3d0/force_rail_on" 
adb shell "echo 1 > /sys/class/kgsl/kgsl-3d0/force_clk_on" 
adb shell "echo 1 > /sys/class/kgsl/kgsl-3d0/force_bus_on" 
adb shell "echo 10000000 > /sys/class/kgsl/kgsl-3d0/idle_timer" 
adb shell "echo performance > /sys/class/kgsl/kgsl-3d0/devfreq/governor" 
adb shell "echo 450000000 > /sys/class/kgsl/kgsl-3d0/gpuclk" 


adb shell "echo performance > /sys/class/devfreq/1c00000.qcom,kgsl-3d0/governor" 
adb shell "echo performance > /sys/class/devfreq/mmc0/governor" 
adb shell "echo performance > /sys/class/devfreq/soc\:qcom,cpubw/governor" 
adb shell "echo performance > /sys/class/devfreq/soc\:qcom,gpubw/governor" 
adb shell "echo performance > /sys/class/devfreq/soc\:devfreq_spdm_cpu/governor" 
adb shell "echo performance > /sys/class/devfreq/soc\:qcom,kgsl-busmon/governor" 
adb shell "echo performance > /sys/class/devfreq/soc\:qcom,mincpubw/governor" 

=============================================================================================


3. performance test 

  bw_mem  : 

  it is from LMbench :http://blog.youkuaiyun.com/fybon/article/details/52313955

  http://www.bitmover.com/lmbench/


BTW:  there is another useful tool from LMbench :lmdd - move io for performance and debugging tests

refer to : http://www.bitmover.com/lmbench/lmdd.8.html


we can use this batch with lmdd for storage (sdcard or data ...) performance test !


@echo on
adb wait-for-devices
adb root
adb wait-for-devices
@echo == HW Info ==  >> lmdd_sdcard.log2
@echo stop android runtime...
@adb shell stop
@adb shell sleep 10
@adb shell cat /proc/cpuinfo >> lmdd_sdcard.log2


@echo pushing...
@adb push bin\lmdd /data/local/tmp
@adb shell chmod 777 /data/local/tmp/lmdd


@echo === Mount Info ======================== >> lmdd_sdcard.log2
@adb shell mount >>lmdd_sdcard.log2


@echo === df Info =========================== >> lmdd_sdcard.log2
@adb shell df /*/sdcard* >>lmdd_sdcard.log2


@echo === mnt2storage Info =================== >> lmdd_sdcard.log2
@adb shell ls -l /mnt/sdcard* >>lmdd_sdcard.log2


@FOR %%I in (sdcard) DO @(


@echo ===%%I lmdd write test ====w======================= >> lmdd_sdcard.log2
@echo ===%%I lmdd write test ====w=======================
@FOR %%J in (1k 2k 4k 8k 16k 32k 64k 128k 256k 512k 1m 2m 4m 8m 16m 32m) DO @(
@echo === %%J === >> lmdd_sdcard.log2
@echo === %%J ===
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell /data/local/tmp/lmdd if=internal of=/mnt/%%I/dumb move=%%J fsync=1 >> lmdd_sdcard.log2
)
)


@FOR %%I in (sdcard) DO @(
@echo ===%%I lmdd read test =====r======================= >> lmdd_sdcard.log2
@echo ===%%I lmdd read test =====r=======================
@FOR %%J in (1k 2k 4k 8k 16k 32k 64k 128k 256k 512k 1m 2m 4m 8m 16m 32m ) DO @(
@echo === %%J === >> lmdd_sdcard.log2
@echo === %%J ===
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
@adb shell "echo 3 > /proc/sys/vm/drop_caches"
@adb shell /data/local/tmp/lmdd if=/mnt/%%I/dumb of=internal move=%%J fsync=1 >> lmdd_sdcard.log2
)
)


@adb shell rm /data/local/tmp/lmdd
@pause 

RAM Stress Test(RST)内存测试软件使用指南 近日比较关注内存的检测问题,找到了名为“RAM Stress Test”的软件(简称“R. S. T.)。但是下载下来,只有区区的2M多,并且是nero格式的文件,这么小的文件能检测内存吗?于是在Google上查找相关说明,经过跋山涉水,终于找到一片,但是很不幸,在一家被挡在墙外的网站上,也就只好半转载、半理解得写出了这一篇使用说明。 先看软件介绍。这个可以从网络上搜索。例如,它是一个独立开发的系统,没有依附任何操作系统,相容于x86系列,只要BIOS认的到的容量都能测。也有人写道,是什么专业测试软件,很贵(500美元)等等,其实只需要知道能测试内存好坏就可以了。 DDR测试软件简要说明书 0123456789ABCDEF0123456789ABCDEF 0123456789ABCDEF0123456789ABCDEF 第1颗粒 第2颗粒 第3颗粒 第4颗粒 第5颗粒 第6颗粒 第7颗粒 第8颗粒 如以上的示范图: 闪动的代表8颗粒的区域 横着数0-7带表第一颗区域8-F代表第二颗区域,0-7带表第三颗区域,8-F代表第四颗区域 依次带表8颗颗粒的内存条. ⒈DDR8位与16位的单面测法: 注意:DDR的颗粒排列循序是1-2-3-4-5-6-7-8 ⑴.0-7(第1颗粒)区域如果出现乱码,代表这根DDR内存条的第一颗粒已经损坏 ⑵. 8-F(第2颗粒)区域如果出现乱码,代表这根DDR内存条的第二颗粒已经损坏 ⑶. 0-7(第3颗粒)区域如果出现乱码,代表这根DDR内存条的第三颗粒已经损坏 ⑷.8-F(第4颗粒)区域如果出现乱码,代表这根DDR内存条的第四颗粒已经损坏 ⑸. 0-7(第5颗粒)区域如果出现乱码,代表这根DDR内存条的第五颗粒已经损坏 ⑹. 8-F(第6颗粒)区域如果出现乱码,代表这根DDR内存条的第六颗粒已经损坏 ⑺. 0-7(第7颗粒)区域如果出现乱码,代表这根DDR内存条的第七颗粒已经损坏 ⑻. 8-F(第8颗粒)区域如果出现乱码,代表这根DDR内存条的第八颗粒已经损坏 ⒉如果你是128M的双面DDR内存,如以上显示界面图: 1-16M ------------------------------------------------------------------------------------------------------------ 16-32M ------------------------------------------------------------------------------------------------------- 32-48M ------------------------------------------------------------------------------------------------------------ 48-64M------------------------------------------------------------------------------------------------------------- 从1M到64M的上面的4根虚线上出现乱码的话,代表这跟内存的的第一面的颗粒有问题(判断哪个颗粒的好坏按照以上的说明) 64-80M ------------------------------------------------------------------------------------------------------------ 80-96M ------------------------------------------------------------------------------------------------------- 96-112M------------------------------------------------------------------------------------------------------------ 112-128M---------------------------------------------------------------------------------------------------------- 从64M到128M的上面的4根虚线上出现乱码的话,代表这跟内存的的第二面的颗粒有问题(判断哪个颗粒的好坏按照以上的说明) 注意:在内存的PCB板上的两边标着1与92的代表第一面93与184的代表第二面,1-128M的8根虚线是用来区分两面区域的作用. ⒊SD的8位与16位的单面测法: 注意:SD的颗粒排列循序是8-4-7-3-6-2-5-1 ⑴.0-7(第1颗粒)区域如果出现乱码,代表这根DDR内存条的第8颗粒已经损坏 ⑵. 8-F(第2颗粒)区域如果出现乱码,代表这根DDR内存条的第4颗粒已经损坏 ⑶. 0-7(第3颗粒)区域如果出现乱码,代表这根DDR内存条的第7颗粒已经损坏 ⑷.8-F(第4颗粒)区域如果出现乱码,代表这根DDR内存条的第3颗粒已经损坏 ⑸. 0-7(第5颗粒)区域如果出现乱码,代表这根DDR内存条的第6颗粒已经损坏 ⑹. 8-F(第6颗粒)区域如果出现乱码,代表这根DDR内存条的第2颗粒已经损坏 ⑺. 0-7(第7颗粒)区域如果出现乱码,代表这根DDR内存条的第5颗粒已经损坏 ⑻. 8-F(第8颗粒)区域如果出现乱码,代表这根DDR内存条的第1颗粒已经损坏 4.通过以上的说明SD的双面是跟DDR的是一样的但是颗粒的好坏判断要按照 他们的排列循序来判断的. 5.PCB板的短路或者虚焊的测法:在以8根虚线上都出现乱码代表这根内存的PCB板有问题. 6.不点亮内存的测试方法:很多内存短路和颗粒损坏后都不能点亮,不点亮的可以用. 一根好的内存去带动他.必须SD的带SD的.DDR的带DDR的.内存软件会自动跳过好的那根去检测坏的那条. 7.使用方法:直接把软盘插入软驱,在主板的CMOS里设置软驱起动,起动后本软件会自动引导到测试界面进行检测
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值