Memory faults can occur due to various causes.
You can use memtester command which stress test to find memory subsystem faults. memtester command is an effective userspace tester for stress-testing the memory subsystem. It is very effective at finding intermittent and non-deterministic faults under Linux.
You can run memtester as follows:
memtester MEMORY ITERATIONS
=> MEMORY: The amount of memory to allocate and test, in megabytes
=> ITERATIONS: Number of loops to iterate through. Default is infinite
memtester's exit code is 0 when everything works properly. Otherwise, it is the logical OR of the following values:
- x01: Error allocating or locking memory, or invocation error
- x02: Error during stuck address test
- x04: Error during one of the other tests
$ memtest 5 1Output:
memtester version 4.0.5 (32-bit) Copyright (C) 2005 Charles Cazabon. Licensed under the GNU General Public License version 2 (only). pagesize is 4096 pagesizemask is 0xfffff000 want 5MB (5242880 bytes) got 5MB (5242880 bytes), trying mlock ...locked. Loop 1/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 Done.
Display memtester's exit code with following command (it is 0 when everything works properly):
$ echo $?