1memtester(8)                 Maintenance Commands                 memtester(8)
2
3
4

NAME

6       memtester - stress test to find memory subsystem faults.
7

SYNOPSIS

9       memtester [-p PHYSADDR] <MEMORY> [ITERATIONS]
10

DESCRIPTION

12       memtester  is an effective userspace tester for stress-testing the mem‐
13       ory subsystem.  It is very effective at finding intermittent  and  non-
14       deterministic  faults.   Note  that  problems  in  other hardware areas
15       (overheating CPU, out-of-specification power supply,  etc.)  can  cause
16       intermittent memory faults, so it is still up to you to determine where
17       the fault lies through normal hardware diagnostic procedures; memtester
18       just helps you determine whether a problem exists.
19
20       memtester  will  malloc(3) the amount of memory specified, if possible.
21       If this fails, it will decrease the amount of memory requested until it
22       succeeds.   It  will then attempt to mlock(3) this memory; if it cannot
23       do so, testing will be slower and much less effective.   Run  memtester
24       as root so that it can mlock the memory it tests.
25
26       Note  that the maximum amount of memory that memtester can test will be
27       less than the total amount of memory installed in the system; the oper‐
28       ating  system,  libraries,  and  other  system  limits take some of the
29       available memory.  memtester is also limited to the  amount  of  memory
30       available  to  a  single  process; for example, on 32-bit machines with
31       more than 4GB of memory, memtester is still limited to less than 4GB.
32
33       Note that it is up to you to know how much memory you can safely  allo‐
34       cate  for  testing.   If  you  attempt  to allocate more memory than is
35       available,  memtester  should  figure  that  out,  reduce  the   amount
36       slightly,  and try again.  However, this can lead to memtester success‐
37       fully allocating and mlocking essentially all free memory on the system
38       --  if  other programs are running, this can lead to excessive swapping
39       and slowing the system down to the point that it is difficult  to  use.
40       If  the system allows allocation of more memory than is actually avail‐
41       able (overcommit), it may lead to a deadlock, where the  system  halts.
42       If  the  system  has  an  out-of-memory  process  killer  (like Linux),
43       memtester or another process may be killed by the OOM killer.
44
45       So choose wisely.
46

OPTIONS

48       -p PHYSADDR
49              tells memtester to test a specific region of memory starting  at
50              physical   address   PHYSADDR  (given  in  hex),  by  mmap(2)ing
51              /dev/mem.  This is mostly of use  to  hardware  developers,  for
52              testing  memory-mapped  I/O  devices and similar.  Note that the
53              memory region will be overwritten during testing, so it  is  not
54              safe  to specify memory which is allocated for the system or for
55              other applications; doing so will cause them to crash.   If  you
56              absolutely must test a particular region of actual physical mem‐
57              ory, arrange to have that memory allocated by  your  test  soft‐
58              ware, and hold it in this allocated state, then run memtester on
59              it with this option.
60
61       MEMORY the amount of memory to  allocate  and  test,  in  megabytes  by
62              default.   You can include a suffix of B, K, M, or G to indicate
63              bytes, kilobytes, megabytes, or gigabytes respectively.
64
65       ITERATIONS
66              (optional) number of loops to iterate through.  Default is infi‐
67              nite.
68

NOTE

70       memtester  must  be  run  with  root  privileges to mlock(3) its pages.
71       Testing memory without locking the pages in place is  mostly  pointless
72       and slow.
73

EXIT CODE

75       memtester's  exit code is 0 when everything works properly.  Otherwise,
76       it is the logical OR of the following values:
77
78       x01    error allocating or locking memory, or invocation error
79
80       x02    error during stuck address test
81
82       x04    error during one of the other tests
83

AUTHOR

85       Written by Charles Cazabon.
86

REPORTING BUGS

88       Report bugs to <charlesc-memtester-bugs@pyropus.ca>.
89
91       Copyright © 2009 Charles Cazabon
92       This is free software; see the file  COPYING  for  copying  conditions.
93       There  is  NO  warranty;  not even for MERCHANTABILITY or FITNESS FOR A
94       PARTICULAR PURPOSE.
95
96
97
98memtester 4                        July 2009                      memtester(8)
Impressum