Stress testing

From ArchWiki
Revision as of 15:40, 7 May 2009 by Graysky (talk | contribs) (Introduction)
Jump to: navigation, search


Running Arch on an overclocked PC is totally fine provided that the PC is stable at the overclock settings. There are several programs available to you that will help you stress test your system and thereby the overclock levels you are attempting to achieve. The steps of overclocking a PC are beyond the scope of this article, but there is pretty inclusive guide written by graysky on the topic: [Overclocking guide].

Note: Although you can stress test a newly overclocked system under Linux, it is strongly recommended that you don't do it. Why? You can experience data loss from the HDD depending on how your system fails in the event of an unstable overclock. Linux is less forgiving that Windows for rebooting from a hardlocked system without damage to the file system. If you insist on testing various overclocked levels under Linux, it is advisable to backup ALL important data first. Better yet is to install Arch to an old HDD and unplug your HDD(s) that carry your important data to iron out the overclock settings and arrive at a stable system.

Stressing Memory

A very good program for stress testing your memory is [Memtest86+]. It is based on the well-known original memtest86 written by Chris Brady. Memtest86+ is, like the original, released under the terms of the Gnu Public License (GPL). No restrictions for use, private or commercial exist other than the ones mentioned in the Gnu Public License (GPL).

You may download it from the webhost of memtest86+ [here] either as a bootable CD ISO or as an pre-compiled bootable binary. The later can be called by GRUB with a minor modification to your menu.lst to allow you to boot directly into Memtest86+ without a CD/DVDROM.

Running Memtest86+

Either download and burn the ISO to a CD and boot from it, or follow the instructions in the next section to add an entry to your GRUB boot menu. Either way when you enter Memtest86+, the application begins testing your memory without your intervention. It will run indefinitely until you stop it reporting any errors as it goes. When it has completed a number of iterations without errors or runs for an arbitrary amount of time without errors, you can pretty much call your memory "good" or "stable" at the settings you have chosen for it in your BIOS.

Tip: Allowing Memtest86+ to run for >10 cycles without errors is usually sufficient.

Running Memtest86+ from GRUB's Bootscreen

Download the pre-compiled bootable binary from the webhost above and place the .bin file from the archive in your /boot directory. I renamed the binary to simply 'memtest86.bin' on my system. Next edit your /boot/grub/menu.lst and add the following entry:

Title   Memtest86+ v2.11 (28-Dec-2008)
root            (hd0,2)
kernel          /boot/memtest86.bin

You will obviously need to change your root line to match that of your own system. Remember that the (hdx,y) format takes its inputs starting from 0, not 1. In other words, your first hardrive is #0 and your first partition is also #0. If you're root partition resides on the 1st partition of the 1st HDD you would use the following line:

root       (hd0,0)
Note: If your system that uses a dedicated /boot partition you MUST omit the preceding '/boot' from the kernel line of the above example. Your kernel line in this scenario would read simply, 'kernel /memtest86.bin'

Stressing CPU and/or Memory

A very good program for CPU and CPU/memory stress testing is [prime95]. There are both x86 and x86_64 version for Linux you can freely use for stress testing purposes under Linux. Prime95 under torture test mode will preform a series of very CPU intensive calculations and compare the values it gets to known good values. The theory is that if your system is sufficiently stable to get the right answers, it should be stable to most anything you will throw at it. Prime95 is pretty much recognized universally as one defacto measure of an overclocked system's stability.

Getting Prime95

Download either the 'Linux' version (i.e. x86) or the 'Linux64' version (i.e. x86_64) from the aforementioned website. It is a precompiled binary so once you have untarred the archive file, simply run mprime as you would any other executable under Linux.

$ tar zxvf mprime259-linux64.tar.gz

Running Prime95

To run prime95, simply enter the directory you unpacked the archive and run mprime:

$ cd mprime259-linux64
$ ./mprime
Note: That if you're using a cpu-frequency scaler such as cpufrequtils or powernowd you will have to manually set your processor to run with its highest multiplier because prime95 uses a nice value that doesn't trip the step-up in your multiplier

When the software loads, simply answer 'N' to the first question to begin the torture testing. The software begins with the torture test, but if you hit Template:Keypress + Template:Keypress you can break out and return to the main prime95 menu shown here:

Main Menu

1.  Test/Primenet
2.  Test/Worker threads
3.  Test/Status
4.  Test/Continue
5.  Test/Exit
6.  Advanced/Test
7.  Advanced/Time
8.  Advanced/P-1
9.  Advanced/ECM
10.  Advanced/Manual Communication
11.  Advanced/Unreserve Exponent
12.  Advanced/Quit Gimps
13.  Options/CPU
14.  Options/Preferences
15.  Options/Torture Test
16.  Options/Benchmark
17.  Help/About
18.  Help/About PrimeNet Server

There are several options for the torture test (menu option 15).

Use small FFTs or In-place large FFTs (options 1 and 2 respectively) mainly for CPU stress testing. Option 2 (In-place large FFTs) are preferred.

Blend (option 3) is a hybrid mode between the a CPU and RAM stress.

Tip: If you enter modes 11, 12, or 13 you can further customize the first three options. For example, if you wish to use a maximal amount of RAM in the tests, select option 13 and manually enter 95 % of your memory as the amount to use.

Errors will be reported should they occur. Many do not consider a system as 'stable' unless it can run the Large FFTs for a 24 h period.