Linux下のメモリテストツールmemtester
ダウンロード先:http://pyropus.ca/software/memtester/ ソースのインストールパッケージ、debパッケージ、rpmパッケージなどがあります.
ソースコードはすでにコンパイルされています.リンクの下でメークだけでいいです.
私がテストしたいのはターゲットボードのメモリです.だから、クロスコンパイルします.ターゲットボードはmipsアーキテクチャです.だから、変更します. Makefile
解凍後、ディレクトリの下にこの2つのファイルがあります.conf-cc、conf-ld.
そして、直接メークをすると、memtesterが生成されます.これをターゲットボードに降りればいいです.
使用方法:
詳細は-pパラメータでメモリアドレスからテストを開始できます.
いくつかの不要なテスト項目については、memtester.clファイルを修正することによって、いくつかの内容を注釈してからやり直せばいいです.以下のとおりです
ソースコードはすでにコンパイルされています.リンクの下でメークだけでいいです.
私がテストしたいのはターゲットボードのメモリです.だから、クロスコンパイルします.ターゲットボードはmipsアーキテクチャです.だから、変更します. Makefile
解凍後、ディレクトリの下にこの2つのファイルがあります.conf-cc、conf-ld.
conf-cc, :cc -O2 -DPOSIX -D_POSIX_C_SOURCE=200809L -D_FILE_OFFSET_BITS=64 -DTEST_NARROW_WRITES -c
:mipsel-linux-gcc -O2 -DPOSIX -D_POSIX_C_SOURCE=200809L -D_FILE_OFFSET_BITS=64 -DTEST_NARROW_WRITES -c
同じ理屈で、conf-ldを変える.そして、直接メークをすると、memtesterが生成されます.これをターゲットボードに降りればいいです.
使用方法:
Usage: memtester [-p physaddrbase] [B|K|M|G] [loops]
:
memtester 28G 3 # 28G 3 。
システムの運行と本ツールの運行はすべてメモリが必要ですので、すべてのメモリをテストすることはできません.とりあえずfreeを使ってもいいです コマンドは、システムの空き容量を確認してからテストします.詳細は-pパラメータでメモリアドレスからテストを開始できます.
memtester version 4.2.0 (64-bit)
Copyright (C) 2010 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).
pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 28672MB (30064771072 bytes)
got 28672MB (30064771072 bytes), trying mlock ...locked.
Loop 1/3:
Stuck Address : testing 0memtester version 4.2.0 (64-bit)
Copyright (C) 2010 Charles Cazabon.
Licensed under the GNU General Public License version 2 (only).
pagesize is 4096
pagesizemask is 0xfffffffffffff000
want 28672MB (30064771072 bytes)
got 28672MB (30064771072 bytes), trying mlock ...locked.
Loop 1/3:
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
結果が全部OKならメモリは正常です.いくつかの不要なテスト項目については、memtester.clファイルを修正することによって、いくつかの内容を注釈してからやり直せばいいです.以下のとおりです
struct test tests[] = {
{ "Random Value", test_random_value },
{ "Compare XOR", test_xor_comparison },
{ "Compare SUB", test_sub_comparison },
{ "Compare MUL", test_mul_comparison },
{ "Compare DIV",test_div_comparison },
{ "Compare OR", test_or_comparison },
{ "Compare AND", test_and_comparison },
{ NULL, NULL }
};