Difference between revisions of "Stress Test"

From ArchWiki
Jump to: navigation, search
(added a tl; dr section (too long; didn't read))
m (Mprime (Prime95 for Windows and MacOS))
(12 intermediate revisions by 3 users not shown)
Line 1: Line 1:
 
[[Category:CPU]]
 
[[Category:CPU]]
 
== Introduction ==
 
== Introduction ==
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: [[http://www.hardforum.com/showthread.php?t=1198647 Overclocking guide]].
+
Running an overclocked PC is totally fine provided that the PC is stable at the overclock settings.  There are several programs available to assess system stability through stress testing the system and thereby the overclock level.  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: [[http://www.hardforum.com/showthread.php?t=1198647 Overclocking guide]].
  
{{note|Although you can stress test a newly overclocked system under Linux, it is strongly recommended that you do not 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.}}
+
== Stress test programs ==
 +
=== Mprime (prime95) ===
 +
{{AUR|mprime-bin}} - Mprime factors large numbers and is an excellent way to stress CPU and memory.
  
== TL; DR ==
 
 
=== Linpack ===
 
=== Linpack ===
Linpack is an excellent way to stress CPUs for stability.
+
{{AUR|linpack}} - Linpack makes use of the BLAS (Basic Linear Algebra Subprograms) libraries for performing basic vector and matrix operations. and is an excellent way to stress CPUs for stability. Only runs on Intel processors (?).
{{AUR|linpack}}
+
 
 +
=== Systester ===
 +
{{AUR|systester}} - Systester is a multithreaded piece of software capable of deriving values of pi out to 128,000,000 decimal places.  It has built in check for system stability.
  
 
=== Memtest86+ ===
 
=== Memtest86+ ===
Memtest86+ is a standard memory testing util and is packaged in [extra]
+
Memtest86+ is a standard memory testing util and is packaged in [extra].
  
=== Mprime (prime95) ===
+
== Stressing CPU and Memory ==
Mprime is an excellent way to stress CPU and memory.
+
===Mprime (Prime95 for Windows and MacOS)===
{{AUR|mprime-bin}}
+
  
=== Systest ===
+
Prime95 is recognized universally as one defacto measure of system stability. Mprime under torture test mode will preform a series of very CPU intensive calculations and compare the values it gets to known good values.
Systest is another piece of software with built in check for system stability.
+
{{AUR|systest}}
+
  
== Stressing Memory ==
+
Prime95 for Linux is called {{AUR|mprime}} and is available in the AUR.
A very good program for stress testing your memory is [[http://www.memtest.org/ 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 General Public License (GPL). No restrictions for use, private or commercial exist other than the ones mentioned in the GNU GPL.
+
  
You may download it from the webhost of memtest86+ [[http://www.memtest.org/#downiso 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.
+
{{Warning|Before proceeding, it is '''HIGHLY''' recommended that users have some means to monitor the CPU temperature.  Packages such as [[Lm_sensors]] can do this.}}
  
=== Running Memtest86+ ===
+
To run mprime, simply open a shell and type "mprime"
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.
+
  $ mprime
 
+
{{tip|Allowing Memtest86+ to run for >10 cycles without errors is usually sufficient.}}
+
=== Running Memtest86+ from GRUB's Bootscreen ===
+
Either install the package {{Pkg|memtest86+}} ({{ic|pacman -S memtest86+}}) or download the pre-compiled bootable binary from the webhost above and move or copy the .bin file from the archive to {{ic|/boot/memtest86+/memtest.bin}}. Next, edit your {{ic|/boot/grub/menu.lst}} by adding something like the following entry:
+
title  Memtest86+
+
root  (hd0,2)
+
kernel /boot/memtest86+/memtest.bin
+
 
+
You will obviously need to change the device specification ({{ic|(hd0,2)}}) to make sense on your own system.  Remember that the {{ic|(hdx,y)}} format takes its inputs starting from 0, not 1; in other words, your first hardrive is {{ic|0}} and your first partition is also {{ic|0}}.  If your root partition resides on the 1st partition of the 1st HDD, then you would use the following line:
+
root  (hd0,0)
+
 
+
{{note|If your system uses a dedicated {{ic|/boot}} partition, then you may need to omit the preceding '/boot' from the kernel line of the above example.  Your kernel line in this scenario could simply be {{ic|kernel /memtest86+/memtest.bin}}}}
+
 
+
== Stressing CPU and/or Memory ==
+
A very good program for CPU and CPU/memory stress testing is [[http://www.mersenne.org/ 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 ===
+
Prime95 for Linux is called mprime and is available in the AUR in [[https://aur.archlinux.org/packages.php?ID=6975 this package]].
+
  
=== Running mprime (prime95) ===
+
{{note| If using a cpu-frequency scaler such as [[cpufrequtils]] or [[powernowd]] sometimes, users need to manually set the processor to run with its highest multiplier because mprime uses a nice value that doesn't always trip the step-up in multiplier.}}
{{Warning|Before you proceed, it is '''HIGHLY''' recommended that you have some means to monitor the CPU temperature of your system at a minimum.  Packages such as [[Lm_sensors]] can do this for you!}}
+
 
+
To run prime95, simply open a shell and type "mprime"
+
$ mprime
+
  
{{note| 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.  If you're using Gnome this is easily accomplished with the CPU Frequency Scaling Monitor via a left-click and selection of the 'Performance' profile.}}
+
When the software loads, simply answer 'N' to the first question to begin the torture testing:
  
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 {{Keypress|CTRL}} + {{Keypress|C}} you can break out and return to the main prime95 menu shown here:
 
 
  Main Menu
 
  Main Menu
 
   
 
   
Line 82: Line 58:
 
* In-place large FFTs (option 1) to test the CPU and memory controller
 
* In-place large FFTs (option 1) to test the CPU and memory controller
 
* Blend (option 3) is the default and constitutes a hybrid mode which stresses the CPU and RAM.
 
* Blend (option 3) is the default and constitutes a hybrid mode which stresses the CPU and RAM.
 
{{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 both to stdout and to {{ic|~/results.txt}} for review later.  Many do not consider a system as 'stable' unless it can run the Large FFTs for a 24 hour period.
 
Errors will be reported should they occur both to stdout and to {{ic|~/results.txt}} for review later.  Many do not consider a system as 'stable' unless it can run the Large FFTs for a 24 hour period.
Line 103: Line 77:
 
Self-test 560K passed!
 
Self-test 560K passed!
 
...</pre>
 
...</pre>
 +
 +
{{Note|Users suspecting bad memory or memory controllers should try the blend test first as the small FFT test uses very little memory.}}
 +
 +
=== Linpack ===
 +
Linpack makes use of the BLAS (Basic Linear Algebra Subprograms) libraries for performing basic vector and matrix operations. and is an excellent way to stress CPUs for stability.  {{AUR|linpack}} is available from the AUR.  After installation, users should adjust {{ic|/etc/linpack.conf}} according to the amount of memory on the target system.
 +
 +
=== Systester (SuperPi for Windows) ===
 +
{{AUR|Systester}} is available in the AUR in both cli and gui version.  It tests system stability by calculating up to 128 millions of Pi digits and includes error checking.  Note that one can select from two different calculation algorithms:  Quadratic Convergence of Borwein and Gauss-Legendre.  The latter being the same method that the popular SuperPi for Windows uses.
 +
 +
A cli example using 8 threads is given:
 +
$ systester-cli -gausslg 64M -threads 8
 +
 +
== Stressing Memory ==
 +
A very good program for stress testing memory is [[http://www.memtest.org/ 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 General Public License (GPL). No restrictions for use, private or commercial exist other than the ones mentioned in the GNU GPL.
 +
 +
=== Running Memtest86+ ===
 +
Either download and burn the ISO to a CD and boot from it, or install {{Pkg|memtest86+}} from [extra] and update GRUB which will auto-detect the package and allow users to boot directly to it.
 +
 +
{{tip|Allowing Memtest86+ to run for >10 cycles without errors is usually sufficient.}}

Revision as of 21:17, 4 February 2013

Introduction

Running an overclocked PC is totally fine provided that the PC is stable at the overclock settings. There are several programs available to assess system stability through stress testing the system and thereby the overclock level. 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].

Stress test programs

Mprime (prime95)

mprime-binAUR - Mprime factors large numbers and is an excellent way to stress CPU and memory.

Linpack

linpackAUR - Linpack makes use of the BLAS (Basic Linear Algebra Subprograms) libraries for performing basic vector and matrix operations. and is an excellent way to stress CPUs for stability. Only runs on Intel processors (?).

Systester

systesterAUR - Systester is a multithreaded piece of software capable of deriving values of pi out to 128,000,000 decimal places. It has built in check for system stability.

Memtest86+

Memtest86+ is a standard memory testing util and is packaged in [extra].

Stressing CPU and Memory

Mprime (Prime95 for Windows and MacOS)

Prime95 is recognized universally as one defacto measure of system stability. Mprime under torture test mode will preform a series of very CPU intensive calculations and compare the values it gets to known good values.

Prime95 for Linux is called mprimeAUR and is available in the AUR.

Warning: Before proceeding, it is HIGHLY recommended that users have some means to monitor the CPU temperature. Packages such as Lm_sensors can do this.

To run mprime, simply open a shell and type "mprime"

$ mprime
Note: If using a cpu-frequency scaler such as cpufrequtils or powernowd sometimes, users need to manually set the processor to run with its highest multiplier because mprime uses a nice value that doesn't always trip the step-up in multiplier.

When the software loads, simply answer 'N' to the first question to begin the torture testing:

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).

  • Small FFTs (option 1) to stress the CPU (option 1)
  • In-place large FFTs (option 1) to test the CPU and memory controller
  • Blend (option 3) is the default and constitutes a hybrid mode which stresses the CPU and RAM.

Errors will be reported should they occur both to stdout and to ~/results.txt for review later. Many do not consider a system as 'stable' unless it can run the Large FFTs for a 24 hour period.

Example ~/results.txt; note that the two runs from 26-June indicate a hardware failure. In this case, due to insufficient vcore to the CPU:

[Sun Jun 26 20:10:35 2011]
FATAL ERROR: Rounding was 0.5, expected less than 0.4
Hardware failure detected, consult stress.txt file.
FATAL ERROR: Rounding was 0.5, expected less than 0.4
Hardware failure detected, consult stress.txt file.
[Sat Aug 20 10:50:45 2011]
Self-test 480K passed!
Self-test 480K passed!
[Sat Aug 20 11:06:02 2011]
Self-test 128K passed!
Self-test 128K passed!
[Sat Aug 20 11:22:10 2011]
Self-test 560K passed!
Self-test 560K passed!
...
Note: Users suspecting bad memory or memory controllers should try the blend test first as the small FFT test uses very little memory.

Linpack

Linpack makes use of the BLAS (Basic Linear Algebra Subprograms) libraries for performing basic vector and matrix operations. and is an excellent way to stress CPUs for stability. linpackAUR is available from the AUR. After installation, users should adjust /etc/linpack.conf according to the amount of memory on the target system.

Systester (SuperPi for Windows)

SystesterAUR is available in the AUR in both cli and gui version. It tests system stability by calculating up to 128 millions of Pi digits and includes error checking. Note that one can select from two different calculation algorithms: Quadratic Convergence of Borwein and Gauss-Legendre. The latter being the same method that the popular SuperPi for Windows uses.

A cli example using 8 threads is given:

$ systester-cli -gausslg 64M -threads 8

Stressing Memory

A very good program for stress testing 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 General Public License (GPL). No restrictions for use, private or commercial exist other than the ones mentioned in the GNU GPL.

Running Memtest86+

Either download and burn the ISO to a CD and boot from it, or install memtest86+ from [extra] and update GRUB which will auto-detect the package and allow users to boot directly to it.

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