歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux 內存測試工具memtester

Linux 內存測試工具memtester

日期:2017/2/28 15:32:24   编辑:Linux教程

下載地址:http://pyropus.ca/software/memtester/ 有源碼安裝包、deb包、rpm包等。

源碼已經編譯好,只要make一下就好了。

使用方法:

Usage: memtester [-p physaddrbase] <mem>[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.c文件,注釋掉某些內容再重新make一下便可。如下:


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 },

/* { "Sequential Increment", test_seqinc_comparison }, */

/* { "Solid Bits", test_solidbits_comparison },

{ "Block Sequential", test_blockseq_comparison },

{ "Checkerboard", test_checkerboard_comparison },

{ "Bit Spread", test_bitspread_comparison },

{ "Bit Flip", test_bitflip_comparison },

{ "Walking Ones", test_walkbits1_comparison },

{ "Walking Zeroes", test_walkbits0_comparison },

#ifdef TEST_NARROW_WRITES

{ "8-bit Writes", test_8bit_wide_random },

{ "16-bit Writes", test_16bit_wide_random },

#endif

*/

{ NULL, NULL }

};

Copyright © Linux教程網 All Rights Reserved