ram test

来源:互联网 发布:科技有限公司 软件开发 编辑:程序博客网 时间:2024/05/21 10:48

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.csdn.net/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.csdn.net/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 

0 0