CPUBurn is a comprehensive stress test that puts IA-compatible CPUs under intense scrutiny.
The key purpose of these programs is to load x86 CPUs as heavily as possible to conduct system testing. Each program is optimized for different processors, with FPU and ALU instructions coded into an assembler endless loop. However, it is essential to understand that these programs do not test every instruction. Instead, the goal has been to maximize heat production from the CPU, creating stress on the CPU, cooling system, motherboard (especially voltage regulators), and power supply (which can be the likely cause of burnBX/MMX errors).
There are several versions of the program available to cater to different CPU types. burnP5 is for Intel Pentium w&w/o MMX processors, burnP6 is for Intel PentiumPro, PentiumII&III, and Celeron CPUs, K6 is for AMD K6 processors, K7 is for AMD Athlon/Duron processors, MMX is to test cache/memory interfaces on all CPUs with MMX, and BX is an alternate cache/memory test for Intel CPUs.
It is essential to note that root privileges are not required for using the program. Although it has been designed for ELF Linux, it has also been tested under FreeBSD and a.out. Burn Testing is best done from a ramdisk distribution (tomsrtbt) or with filesystems unmounted or mounted read-only. To use the program, untar the source in a convenient directory, compile the executable by running 'make,' and then run the desired program in the background. The progress of cpuburn can be monitored using the 'ps' command, and when finished, burn* processes can be killed.
If you have temperature probes (fingers) or the lm-sensors package, you can check your CPU temperature and/or system voltages. If an error occurs in calculations, it will be preserved, and the program will terminate with an error code of 254 for an integer/memory error and 255 for an FP/MMX error. Error checking happens every 10-40 seconds for burnP6/K6/K7, and no CPU errors have been seen in testing. burnBX and burnMMX check for error every 512 MB (4-10 seconds), and error termination is frequently seen, but lockups are rarer. They can also take an optional parameter indicating the RAM size to be tested.
In spite of its name, burnBX can run on any chipset (RAM controller) and tests a lot more than the RAM controller. However, burnBX is not optimal on AMD processors, and burnMMX is preferable for any CPU that has an MMX unit. These programs need about 72 MB of total RAM + swap to start (not necessarily free), but do not use this much unless requested. They will throw a 'Sig 11' if there is not enough swap. If the system is sub-spec, it may lock up after 2-10
Version 1.4: N/A