rev |
line source |
al@18531
|
1 memtester is a utility for testing the memory subsystem in a computer to
|
al@18531
|
2 determine if it is faulty.
|
al@18531
|
3
|
al@18531
|
4 Usage is simple for the basic case. As root, run the resulting memtester binary
|
al@18531
|
5 with the following commandline:
|
al@18531
|
6
|
al@18531
|
7 memtester <memory> [runs]
|
al@18531
|
8
|
al@18531
|
9 where `<memory>` is the amount of memory to test, in megabytes by default. You
|
al@18531
|
10 can optionally include a suffix of B, K, M, or G (for bytes, kilobytes,
|
al@18531
|
11 megabytes, and gigabytes respectively).
|
al@18531
|
12
|
al@18531
|
13 `[runs]` is an optional limit to the number of runs through all tests.
|
al@18531
|
14
|
al@18531
|
15 An optional `-p physaddr` argument available to cause memtester to test memory
|
al@18531
|
16 starting at a specific physical memory address (by mmap(2)ing a device file
|
al@18531
|
17 representing physical memory (/dev/mem by default, but can be specified with the
|
al@18531
|
18 `-d device` option) starting at an offset of `physaddr`, which is given in hex).
|
al@18531
|
19
|
al@18531
|
20 Note: the memory specified will be overwritten during testing; you therefore
|
al@18531
|
21 *cannot* specify a region belonging to the kernel or other applications without
|
al@18531
|
22 causing the other process or entire system to crash). If you use this option, it
|
al@18531
|
23 is up to you to ensure the specified memory is safe to overwrite. That makes
|
al@18531
|
24 this option mostly of use for testing memory-mapped I/O devices and similar.
|
al@18531
|
25 Thanks to Allon Stern for the idea behind this feature. For example, if you want
|
al@18531
|
26 to test a bank of RAM or device which is 64kbytes in size and starts at physical
|
al@18531
|
27 address 0x0C0000 through the normal /dev/mem, you would run memtester as
|
al@18531
|
28 follows:
|
al@18531
|
29
|
al@18531
|
30 memtester -p 0x0c0000 64k [runs]
|
al@18531
|
31
|
al@18531
|
32 If instead that device presented its memory as /dev/foodev at offset 0, you
|
al@18531
|
33 would run memtester instead as follows:
|
al@18531
|
34
|
al@18531
|
35 memtester -p 0 -d /dev/foodev 64k [runs]
|
al@18531
|
36
|
al@18531
|
37 Note that the `-d` option can only be specified in combination with `-p`.
|
al@18531
|
38
|
al@18531
|
39 memtester must run as user root so that it can lock its pages into memory. If
|
al@18531
|
40 memtester fails to lock its pages, it will issue a warning and continue
|
al@18531
|
41 regardless. Testing without the memory being locked is generally very slow and
|
al@18531
|
42 not particularly accurate, as you'll end up testing the same memory over and
|
al@18531
|
43 over as the system swaps the larger region.
|