Linux压力测试之memtester

Memtester介绍

Memtester主要是捕获内存错误和一直处于很高或者很低的坏位, 其测试的主要项目有随机值,异或比较,减法,乘法,除法,与或运算等等. 通过给定测试内存的大小和循环次数, 可以对系统现有的内存进行项目的测试。

基本用法

查看下帮助信息

[root@Sweep:/oem]# memtester -h
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
memtester: invalid option -- 'h'

Usage: memtester [-p physaddrbase [-d device]] <mem>[B|K|M|G] [loops]

loops指循环的次数

用法举例

下面将测试1M内存,循环2次

[root@Sweep:/oem]# memtester 1 2
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 1MB (1048576 bytes)
got  1MB (1048576 bytes), trying mlock ...locked.
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.

测试脚本

为方便测试,查看测试结果,写了个脚本

[root@Sweep:/oem]# cat memtester.sh 
#!/bin/sh
mem=$1
loop=$2
i=0
while true
do
	echo "========== test: $i loops =============="
	thread=`ps | grep 'memtester' | grep -v 'memtester.sh'| grep -v 'grep' `
	if [ x"$thread" = x"" ];then
		i=`expr $i + 1`
		echo -e "[loops: $i]\n\n" > /oem/memtester_time.txt
		memtester $mem 1 >> /oem/memtester_time.txt & 
		if [ $? = 0 ];then
			echo "test success!" >> /oem/memtester_time.txt
		else 
			echo "test fail!" >> /oem/memtester_time.txt
		fi
	fi
	if [ "$i" = "$loop" ];then
		exit 0
	fi
done	

该脚本第一个参数是内存大小,第二个参数是循环的次数。执行脚本将会保存最后一次的测试记录。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值