2024年5月10日发(作者:)

memtester使用

2010-08-16 18:20:21| 分类: linux之路 |字号 订阅

抄录一段官方的解释:

A userspace utility for testing the memory subsystem for faults. It's

portable and should compile and work on any 32- or 64-bit Unix-like system.

(Yes, even weird, proprietary Unices, and even Mac OS X.) For hardware

developers, memtester can be told to test memory starting at a particular

physical address as of memtester version 4.1.0.

操作步骤如下:

[root@localhost ~]# wget

/software/memtester/old-versions/

.gz

[root@localhost ~]# tar -xvf

[root@localhost ~]# cd memtester-4.2.0

[root@localhost ~]# make && make install

[root@localhost memtester-4.2.0]# vi README

Using memtester

Usage is simple for the basic case. As root, run the resulting

memtester binary with the following commandline:

memtester [runs]

An optional "-p physaddr" argument available to cause memtester to

test

memory starting at a specific physical memory address (by mmap'ing

/dev/mem starting at an offset of `physaddr`, which is given in hex).

#以上是节选,直接跟要测试的内存的大小就可以,默认单位是M,也可以手动

指定为B, K, M, or G; -p参数是指定内存物理地址的。

For example, if you want to test a bank of RAM or device which is 64kbytes

in size and starts at physical

address 0x0C0000, you would run memtester as follows:

memtester -p 0x0c0000 64k [runs]

[root@localhost memtester-4.2.0]# memtester 256

memtester version 4.2.0 (32-bit)

Copyright (C) 2010 Charles Cazabon.

Licensed under the GNU General Public License version 2 (only).

pagesize is 4096

pagesizemask is 0xfffff000

want 256MB (268435456 bytes)

got 256MB (268435456 bytes), trying mlock ...locked.

Loop 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 : ok

Bit Flip : ok

Walking Ones : ok

Walking Zeroes : ok

8-bit Writes : ok

16-bit Writes : ok

注:测试结果仅仅截取了一部分。我测试的过程中,使用的机器内存为1G,swap

分区为4G。首次测试时,将测试的内存大小指为1G,机器死机。个人认为是由

于memtester将 内存全部占用导致的。

运行memteste非常简单,作为root ./ memtester [runs] :

内存大小,单位M [runs]:运行次数

这样我们就可以对单颗CPU的机器进行测试,查看内存是否足够稳定。 但如果

我有多颗CPU和较大的memory呢?最简单的方法是多开几个终端,同时运行

memtester,每个CPU分配同样大小的内存。 还有一种方法可以使用Baif编写

的一个脚本,位置放在memtester-4.0.7下就可以了。 这

个脚本只在linux下有效!

#!/bin/sh

# Memory Tester Scripts

# by Baif

# version = date