blob: bad76b0c073c03217388d8ae14ff52d8802eda27 [file] [log] [blame]
Martin Roth9b1b3352016-02-24 12:27:06 -08001- What is memtest86+, what do I use it for?
2
3 Memtest86+ is a utility designed to test whether your memory is in working
4 order. It repeatedly writes an enormous amount of different patterns to all
5 memory locations and reads them back again and verifies whether the result
6 of the read is the same as what was written to memory.
7
8 There can be a multitude of reasons for running memtest, but foremost of all
9 is of course to test whether your memory modules might be bad. Whenever you
10 suspect your modules to be bad because of system crashes, lockups or reboots
11 it would be nice to know whether the modules are in working order.
12 Memtest86+ is a utility which tries to answer that question for you.
13
14 Another common use exists in the overclocking scene. When overclocking a
15 system you are essentially pushing your system to the limits and at some
16 point it will simply give way and break. Unfortunately there isn't a clear
17 cut way of deciding whether a system is still working correctly. Because of
18 the complexity of a computer a system which is pushed to the limits doesn't
19 just break completely when it starts to fail, instead little errors start
20 showing up in many different places in the system growing more frequent and
21 widespread the more the system is pushed. Each one of these little errors
22 can lead to a crash of your system but can also go unnoticed for days or
23 weeks in a running system. The art so to speak of overclocking is thus to
24 push the system as far as it can go without introducing any such errors. As
25 memory is usually one of the first places these such errors start coming up
26 a memory test is very useful.
27
28- How do I get it to run?
29
30 There are several ways to use memtest, which are described below:
31
Paul Menzel1eb45d22017-08-13 18:06:27 +020032 + Run from floppy disk
Martin Roth9b1b3352016-02-24 12:27:06 -080033
34 Memtest86+ is directly executable by any modern x86 compatible machine, by
35 writing the bootable binary to a floppy disk one can boot from the disk to
36 run memtest.
37
38 Simply download the appropriate package, the Pre-Compiled Bootable Binary
39 (.gz) package for Linux users and the Pre-Compiled package for Floppy (DOS
40 - Win) for Windows users.
41
42 For Windows, unzip the package into a directory like C:\memtest, insert a
43 blank floppy into your a: disk drive and run the install.bat file. As the
44 install prompts you, to use memtest directly, leave the disk in the drive
45 and reboot your machine.
46
47 For Linux, unpack the package into your home directory, insert a blank
48 floppy into your floppy drive and execute 'dd if=~/memtest+-1.xx.bin.gz
49 of=/dev/fd0 conv=osync' replacing 1.xx with the correct version number of
50 the memtest86+ you downloaded. To run memtest immediately reboot your
51 machine.
52
53 Your machine should now boot from the disk, display the word Loading
Paul Menzel1eb45d22017-08-13 18:06:27 +020054 followed by a series of periods and then show a screen much like the
Martin Roth9b1b3352016-02-24 12:27:06 -080055 screenshots on the memtest86+ web page. The test is automatically started.
56
57 If your machine simply boots back into Windows/Linux you will most likely
58 have to configure your BIOS to attempt to boot from floppy disk on
59 startup, refer to your computer's/mainboard's manual how to do this.
60
61 When you are done testing simply remove the floppy and reset your
Paul Menzel1eb45d22017-08-13 18:06:27 +020062 computer, if ever you want to execute the test again simply reinsert the
Martin Roth9b1b3352016-02-24 12:27:06 -080063 disk and reboot/start your computer.
64
65 + Run from CD
66
67 Memtest86+ is directly executable by any modern x86 compatible machine, by
Paul Menzel1eb45d22017-08-13 18:06:27 +020068 writing the ISO to a CD one can boot from the CD to run memtest.
Martin Roth9b1b3352016-02-24 12:27:06 -080069
70 Simply download the appropriate package, the Download - Pre-Compiled
71 Bootable ISO (.gz) for Linux users and the Pre-Compiled Bootable ISO
72 (.zip) for Windows users.
73
74 For Windows, unzip the package into a directory like C:\memtest. You will
75 now see a file called memtest86+-1.xx.iso in this directory. You will need
76 to burn this file to a CD with a CD recording program. Do note however
77 that you should not make a regular data CD on which you for instance write
Paul Menzel1eb45d22017-08-13 18:06:27 +020078 your text documents and holiday photographs. Instead the ISO file is a so
Martin Roth9b1b3352016-02-24 12:27:06 -080079 called image of a CD, it is a direct copy of a CD. Your CD recording
80 program will most likely have a feature called burn image or something to
81 that effect which you should use to burn the CD.
82
Paul Menzel1eb45d22017-08-13 18:06:27 +020083 For Linux, unzip the package into your home directory. and execute
Martin Roth9b1b3352016-02-24 12:27:06 -080084 'cdrecord dev=<your burner> ~/memtest86+-1.xx.iso' where you replace <your
Paul Menzel1eb45d22017-08-13 18:06:27 +020085 burner> with the SCSI address of your CD burner and replace 1.xx with the
Martin Roth9b1b3352016-02-24 12:27:06 -080086 correct version number of the memtest86+ your downloaded.
87
88 When the burning completed your drive will most likely have ejected the CD
89 and you should have a bootable memtest86+ CD. To run the test directly
90 reinsert the CD and reboot your machine.
91
Paul Menzel1eb45d22017-08-13 18:06:27 +020092 Your machine should now boot from the CD, display the word Loading followed
Martin Roth9b1b3352016-02-24 12:27:06 -080093 by a series of periods and then show a screen much like the screenshots on
94 the memtest86+ web page. The test is automatically started.
95
96 If your machine simply boots back into Windows/Linux you will most likely
97 have to configure your BIOS to attempt to boot from CD-ROM drive on
98 startup, refer to your computer's/mainboard's manual how to do this.
99
100 When you are done testing simply remove the CD and reset your computer, if
Paul Menzel1eb45d22017-08-13 18:06:27 +0200101 ever you want to execute the test again simply reinsert the CD and
Martin Roth9b1b3352016-02-24 12:27:06 -0800102 reboot/start your computer.
103
104 + Run from USB Flash drive
105
106 FIXME
107
108 + Run from boot manager
109
110 FIXME
111
112- How long does memtest86+ run? How do I stop it?
113
Paul Menzel1eb45d22017-08-13 18:06:27 +0200114 Memtest86+ runs indefinitely unless you stop it. It does however repeat the
Martin Roth9b1b3352016-02-24 12:27:06 -0800115 same tests over and over again. Memtest86+ contains a number of different
116 tests which each take different approaches in trying to expose any errors in
117 your memory. In the top right of your screen you can see the progress of
118 each test in the lower of the two progress bars. The topmost progress bar
119 shows the progress of a pass, each pass consists of all the tests in the
120 memtest suite.
121
122 Thus all tests are executed in one pass, so does that mean that no errors
123 will show after the first pass if that pass didn't reveal any errors? Well
124 no, there are several reasons why errors might only show up after a number
125 of passes. Firstly as of this writing, the latest version of memtest also
126 includes a test which uses random test patterns, each pass these patterns
127 will of course be different. Secondly some types of errors simply don't show
128 up until the system has been running for a while or are very critical on a
129 certain timing condition, or other such conditions.
130
131 To conclude, one successful pass of memtest will give you a pretty good idea
132 that your memory is ok, only in rare cases will there be errors showing
133 after the first pass. To be sure though simply have the test run overnight
134 or even for a couple of days depending on the level of importance of the
135 system.
Martin Roth4dcd13d2016-02-24 13:53:07 -0800136
Martin Roth9b1b3352016-02-24 12:27:06 -0800137- How many errors are acceptable?
138
139 No errors are acceptable. Even if there is just one error, something is
140 amiss which can cause your system to crash. Of course what the cause of the
141 errors is you will still have to determine.
142
143- What do I do when I get errors?
144
145 Firstly, don't start drawing any conclusions. You only know that memtest86+
146 is giving your errors, not what the cause is. Unfortunately it is not a
147 straightforward exercise to decisively test the memory in an actual system.
148 This is because a computer is not just built up of some memory, but also
149 includes many other elements such as a memory controller, cache, a cache
150 controller, algorithmic and logic units, etc, all of which contribute to the
151 machine. If there are faults in any of these other parts of the computer you
152 will likely also see errors showing up in memtest.
153
154 So what to do? First verify that the BIOS settings of your machine are
155 correctly configured. Look up the memory timing settings applicable to the
156 brand and type of memory modules you have and check they match your BIOS
157 settings, correct them if they don't and run memtest again
Martin Roth4dcd13d2016-02-24 13:53:07 -0800158
Martin Roth9b1b3352016-02-24 12:27:06 -0800159 Ok, you have all the settings correctly set and you're still getting errors.
160 Well of course a very likely cause are the memory modules and the logical
161 course of action is to look into them further.
162
163 If you are well stocked, have a few other machines at your disposal, or just
164 want to spend the cash for some new modules the best way to test if the
165 cause are your memory modules is just to replace them and test again. If you
166 are less fortunate though there is still something you can do.
167
168 If you have more then one module in your system, test them one by one, if
169 one is consistently giving errors and another is consistently showing no
170 errors it's a pretty good bet that the module giving the errors is simply
171 defective. To exclude the possibility that a defective slot is throwing your
172 results, use the same slot to test each different module.
Martin Roth4dcd13d2016-02-24 13:53:07 -0800173
Martin Roth9b1b3352016-02-24 12:27:06 -0800174 If each module by itself shows no errors, but when you place two or more
175 modules into the machine at the same time you do get errors, you are most
176 likely stuck with a compatibility issue and unfortunately there isn't a
177 whole lot you can do about it. Be sure to check your computer/motherboard
178 manual to see if the setup you are trying is allowed, some boards require
179 special restrictions in the sizes of modules, the order of modules, the
180 placement of double sided and single sides modules and more of such things.
181
182 If you have only one module in your system, or all modules are giving
183 errors, there are only very few options left. The only thing you can do
184 really is to try the module(s) in another slot. Finally simply try out
185 different orders of the memory modules, although your manual might not
186 mention anything on the matter sometimes there simply exist timing or other
187 issues which can be resolved by changing the order of your modules. And of
188 course test each slot by putting a single module into that slot and running
189 memtest on it.
190
191 In the end if you still have not been able to localize the problem you will
192 have to find a replacement module to establish whether the problem lies in
193 your modules. See if you can borrow a module from someone else.
194
195 When you have replaced the memory by new memory and the errors still
196 persist, first check if you can rule out any compatibility issues or timing
197 issues. If you are sure the memory should work in the system the cause of
198 the errors must obviously lie someplace else in the system.
Martin Roth4dcd13d2016-02-24 13:53:07 -0800199
Martin Roth9b1b3352016-02-24 12:27:06 -0800200 The only way to find out where, is by trial and error really. Simply start
201 replacing and/or removing parts of your computer one by one, running memtest
202 each time you changed anything, until the errors are resolved.
203
204- I'm getting errors in test #x, what doest that mean?
205
206 Interpreting memtest results is as scientific an endeavour as testing
207 whether a person is a witch by the methods used in Monty Python's Holy
208 Grail. In short, don't even start, it's not going to get you anywhere. Just
Paul Menzel1eb45d22017-08-13 18:06:27 +0200209 interpret any error as you should any other and use the methods described in
Martin Roth9b1b3352016-02-24 12:27:06 -0800210 the previous question to determine the cause.
211
212- I'm getting errors in test #5 and/or #8 and have read a lot about it.
213
214 Yes there are just about enough discussions on the topic to fill a book, but
215 it all boils down to the answer given above. The only thing that can be said
216 is that many a times, when memory latencies are incorrectly set in the BIOS
217 you will experience errors in test #5 and #8. (Though #8 does not exist
218 anymore as of version 1.40 and might be reinstated as a different test in a
219 later version.) This does however NOT mean that errors in these tests are
220 always the cause of incorrect settings, your memory might just as well be
221 defective.
222
223- I'm getting errors in memtest on one machine, but not when I put the same
224 memory in another, what does that mean?
225
226 It can mean one of two things:
227 - The machine that is giving the errors is defective. Errors don't just
Paul Menzel1eb45d22017-08-13 18:06:27 +0200228 originate from the memory module itself, but can also be caused by
229 defects in the CPU, chipset, motherboard, PSU and even by timing issues
Martin Roth9b1b3352016-02-24 12:27:06 -0800230 introduced by any other component in the machine.
231 - The machine giving the errors is imposing stricter timing than the other
232 which the memory module simply can't cope with. If the module should
233 work with the machine according to its specifications then it most
234 likely is defective.
235
236- Which memory is tested?
237
238 As much as possible of the system memory is tested. Unfortunately memtest86+
Paul Menzel1eb45d22017-08-13 18:06:27 +0200239 can usually not test all of the memory. The reason for this is that today's
Martin Roth9b1b3352016-02-24 12:27:06 -0800240 processors have become so complex that they require a small amount of memory
241 to keep accounting data of the processor state. If memtest were to write
242 over these areas the state of the processor becomes invalid and it's
243 behaviour unpredictable. Alas it is also impossible to relocate these areas
244 in the memory.
245
246 This means that a small area of your memory can not be tested by memtest. If
247 this part of the memory is defective you will know soon enough though as the
248 processor, or parts of the processor simply won't work correctly if this
249 part of your memory is defective. Do realise though that in very rare cases
250 memtest will show no errors even though the module is defective, not because
251 memtest can't detect the error, but because memtest can't test the area the
252 error is located in.
253
254- When I select BIOS-ALL I get many errors / my machine crashes.
255
Paul Menzel1eb45d22017-08-13 18:06:27 +0200256 This is normal. With today's computers this option should never be selected.
Martin Roth9b1b3352016-02-24 12:27:06 -0800257 See the previous question about the reason for the errors.
258
259- I want to use memtest on a multiboot CD, how do I do this?
260
261 This is of course very dependent on which boot loader you use for your CD.
262 Below is a description of how to set up a multiboot CD including memtest+
263 with isolinux, if you have experience with any other bootloader(s) please
264 consider writing a small description of using memtest with that bootloader
265 for the FAQ.
266
267 -isolinux
Martin Roth4dcd13d2016-02-24 13:53:07 -0800268
Martin Roth9b1b3352016-02-24 12:27:06 -0800269 For general instructions on how to make a bootable CD with isolinux see
Paul Menzel1eb45d22017-08-13 18:06:27 +0200270 the Syslinux website and the manual. What you need to do to get memtest
Martin Roth9b1b3352016-02-24 12:27:06 -0800271 working is as follows.
272
273 Download the Pre-Compiled Bootable Binary, the .gz if you are working
Paul Menzel1eb45d22017-08-13 18:06:27 +0200274 under Linux, the .zip if you are working under windows. Unpack the file
Martin Roth9b1b3352016-02-24 12:27:06 -0800275 from the package and rename it to an 8.3 filename with an extension other
276 than .bin, renaming to memtest. (without an extension) is a good choice.
277
278 Put the file somewhere in your CD directory structure, for example in
Paul Menzel1eb45d22017-08-13 18:06:27 +0200279 images/memtest and edit your configuration file to include the following:
Martin Roth9b1b3352016-02-24 12:27:06 -0800280
281 label memtest
282 kernel /images/memtest
283
284 If you want to boot memtest automatically insert or change a line at the
285 top to:
286
287 default memtest
288
289 If you want to display a prompt from which you can start memtest add or
290 change the lines at the top to: (Change the timeout to suit your needs)
291
292 prompt 1
293 timeout 200
294
295- If memtest86+ shows no errors does that mean my memory is not defective?
296
297 Of course no answers are definitive, no matter how good memtest86+ will
298 eventually become there is always the possibility that a particular type of
299 error will go unnoticed. As long as you are having no problems with the
300 system it will be pretty safe to say that the modules are good. If you are
301 having problems with the system however you will just have to check by trial
Paul Menzel1eb45d22017-08-13 18:06:27 +0200302 and error, i.e. swapping the modules for new ones and/or testing with modules
Martin Roth9b1b3352016-02-24 12:27:06 -0800303 of a different brand/type.
304
305- When I run install.bat it doesn't write anything to floppy.
306
307 You most likely have unpacked the memtest+-2.xx.floppy.zip file into a
308 folder with a long pathname and/or containing + and - signs. It seems
309 rawrite doesn't like that. Just move the files you unpacked to a directory
Paul Menzel1eb45d22017-08-13 18:06:27 +0200310 like c:\memtest and execute it from there.