Prime95 gets killed cause out of memory

So im trying to run blend tests, but it freezes for a while and then reads in the right bottom corner that the application has been killed due to out of memory. How would i circumvent this?

Don’t try to use more RAM than you have (or use swap).

What about inxi -czv8 ?

1 Like

System:
  Kernel: 6.16.4-2-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 15.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.16-x86_64
    udev.log_priority=3 amdgpu.ppfeaturemask=0xffffffff
  Desktop: KDE Plasma v: 6.3.6 tk: Qt v: N/A info: frameworks v: 6.17.0
    wm: kwin_wayland vt: 1 dm: SDDM Distro: Manjaro base: Arch Linux
Machine:
  Type: Desktop Mobo: Gigabyte model: B550 AORUS PRO V2
    serial: <superuser required> uuid: <superuser required> UEFI: American
    Megatrends LLC. v: F18g date: 03/11/2025
Battery:
  Message: No system battery data found. Is one present?
Memory:
  System RAM: total: 32 GiB available: 31.24 GiB used: 4.61 GiB (14.8%)
  Message: For most reliable report, use superuser + dmidecode.
  Array-1: capacity: 128 GiB slots: 4 modules: 2 EC: None
    max-module-size: 32 GiB note: est.
  Device-1: Channel-A DIMM 0 type: no module installed
  Device-2: Channel-A DIMM 1 type: DDR4 detail: synchronous unbuffered
    (unregistered) size: 16 GiB speed: 3600 MT/s volts: note: check curr: 1
    min: 1 max: 1 width (bits): data: 64 total: 64 manufacturer: G.Skill
    part-no: F4-3600C18-16GVK serial: N/A
  Device-3: Channel-B DIMM 0 type: no module installed
  Device-4: Channel-B DIMM 1 type: DDR4 detail: synchronous unbuffered
    (unregistered) size: 16 GiB speed: 3600 MT/s volts: note: check curr: 1
    min: 1 max: 1 width (bits): data: 64 total: 64 manufacturer: G.Skill
    part-no: F4-3600C18-16GVK serial: N/A
PCI Slots:
  Permissions: Unable to run dmidecode. Root privileges required.
CPU:
  Info: model: AMD Ryzen 5 5600X bits: 64 type: MT MCP arch: Zen 3+ gen: 3
    level: v3 note: check built: 2022 process: TSMC n6 (7nm) family: 0x19 (25)
    model-id: 0x21 (33) stepping: 0 microcode: 0xA201030
  Topology: cpus: 1x dies: 1 clusters: 1 cores: 6 threads: 12 tpc: 2
    smt: enabled cache: L1: 384 KiB desc: d-6x32 KiB; i-6x32 KiB L2: 3 MiB
    desc: 6x512 KiB L3: 32 MiB desc: 1x32 MiB
  Speed (MHz): avg: 4590 high: 4592 min/max: N/A cores: 1: 4589 2: 4592
    3: 4588 4: 4590 5: 4591 6: 4592 7: 4592 8: 4590 9: 4592 10: 4592 11: 4591
    12: 4592 bogomips: 110198
  Flags: 3dnowprefetch abm adx aes aperfmperf apic arat avic avx avx2 bmi1
    bmi2 bpext cat_l3 cdp_l3 clflush clflushopt clwb clzero cmov cmp_legacy
    constant_tsc cpb cpuid cqm cqm_llc cqm_mbm_local cqm_mbm_total
    cqm_occup_llc cr8_legacy cx16 cx8 de debug_swap decodeassists erms
    extapic extd_apicid f16c flushbyasid fma fpu fsgsbase fsrm fxsr fxsr_opt
    ht hw_pstate ibpb ibrs ibs invpcid irperf lahf_lm lbrv lm mba mca mce
    misalignsse mmx mmxext monitor movbe msr mtrr mwaitx nonstop_tsc nopl npt
    nrip_save nx ospke osvw overflow_recov pae pat pausefilter pclmulqdq
    pdpe1gb perfctr_core perfctr_llc perfctr_nb pfthreshold pge pku pni
    popcnt pse pse36 rapl rdpid rdpru rdrand rdseed rdt_a rdtscp rep_good sep
    sha_ni skinit smap smca smep ssbd sse sse2 sse4_1 sse4_2 sse4a ssse3
    stibp succor svm_lock syscall tce topoext tsc tsc_scale umip user_shstk
    v_spec_ctrl v_vmsave_vmload vaes vgif vmcb_clean vme vmmcall vpclmulqdq
    wbnoinvd wdt x2apic xgetbv1 xsave xsavec xsaveerptr xsaveopt xsaves
    xtopology
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: ghostwrite status: Not affected
  Type: indirect_target_selection status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: old_microcode status: Not affected
  Type: reg_file_data_sampling status: Not affected
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow mitigation: Safe RET
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Retpolines; IBPB: conditional; IBRS_FW;
    STIBP: always-on; RSB filling; PBRSB-eIBRS: Not affected; BHI: Not
    affected
  Type: srbds status: Not affected
  Type: tsa mitigation: Clear CPU buffers
  Type: tsx_async_abort status: Not affected
Graphics:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 48 [Radeon RX 9070/9070
    XT/9070 GRE] vendor: Tul / PowerColor Reaper driver: amdgpu v: kernel
    arch: RDNA-4 code: Navi-4x process: TSMC n4 (4nm) built: 2025+ pcie:
    gen: 5 speed: 32 GT/s lanes: 16 ports: active: DP-2,DP-3,HDMI-A-1
    empty: DP-1,Writeback-1 bus-ID: 07:00.0 chip-ID: 1002:7550 class-ID: 0300
  Device-2: Microdia Defender G-Lens 2577 HD720p Camera
    driver: snd-usb-audio,uvcvideo type: USB rev: 2.0 speed: 480 Mb/s lanes: 1
    mode: 2.0 bus-ID: 1-6.4:8 chip-ID: 0c45:6341 class-ID: 0102
    serial: <filter>
  Display: wayland server: X.org v: 1.21.1.18 with: Xwayland v: 24.1.8
    compositor: kwin_wayland driver: X: loaded: amdgpu
    unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
    gpu: amdgpu d-rect: 6800x3930 display-ID: 0
  Monitor-1: DP-2 pos: bottom-r model: 32W_LCD_TV built: 2015 res:
    mode: 1280x720 hz: 60 scale: 100% (1) dpi: 69 gamma: 1.2 chroma: red:
    x: 0.643 y: 0.329 green: x: 0.282 y: 0.604 blue: x: 0.145 y: 0.059 white:
    x: 0.290 y: 0.298 size: 708x398mm (27.87x15.67") diag: 810mm (31.9")
    ratio: 16:9 modes: 1920x1080, 1680x1050, 1280x1024, 1440x900, 1360x768,
    1280x800, 1280x768, 1280x720, 1024x768, 800x600, 720x576, 720x480,
    640x480
  Monitor-2: DP-3 pos: top-center model: HISENSE serial: <filter>
    built: 2023 res: mode: 3840x2160 hz: 60 scale: 175% (1.75) to: 2194x1234
    dpi: 85 gamma: 1.2 chroma: red: x: 0.639 y: 0.341 green: x: 0.298 y: 0.690
    blue: x: 0.137 y: 0.035 white: x: 0.282 y: 0.298
    size: 1095x616mm (43.11x24.25") diag: 1321mm (52") ratio: 16:9
    modes: 3840x2160, 4096x2160, 1920x1080, 1280x1024, 1280x960, 1280x720,
    1024x768, 800x600, 720x576, 720x480, 640x480
  EDID-Warnings: 1: parse_edid: unhandled CEA mode 97 2: parse_edid:
    unhandled CEA mode 94 3: parse_edid: unhandled CEA mode 95 4: parse_edid:
    unhandled CEA mode 96 5: parse_edid: unhandled CEA mode 93 6: parse_edid:
    unhandled CEA mode 106 7: parse_edid: unhandled CEA mode 107 8: parse_edid:
    unhandled CEA mode 101 9: parse_edid: unhandled CEA mode 102
    10: parse_edid: unhandled CEA mode 98 11: parse_edid: unhandled CEA mode
    99 12: parse_edid: unhandled CEA mode 100
  Monitor-3: HDMI-A-1 pos: middle-l model: Samsung SyncMaster
    serial: <filter> built: 2007 res: mode: 1680x1050 hz: 60 scale: 100% (1)
    dpi: 86 gamma: 1.2 chroma: red: x: 0.639 y: 0.333 green: x: 0.290 y: 0.596
    blue: x: 0.153 y: 0.082 white: x: 0.314 y: 0.329
    size: 494x320mm (19.45x12.6") diag: 589mm (23.2") ratio: 3:2
    modes: 1680x1050, 1280x1024, 1440x900, 1280x960, 1280x800, 1152x864,
    1280x720, 1024x768, 832x624, 800x600, 640x480, 720x400
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast gbm: drv: kms_swrast surfaceless: drv: radeonsi
    wayland: drv: radeonsi x11: drv: radeonsi
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 25.2.1-arch1.4
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 9070 XT (radeonsi
    gfx1201 LLVM 20.1.8 DRM 3.64 6.16.4-2-MANJARO) device-ID: 1002:7550
    memory: 15.62 GiB unified: no display-ID: :1.0
  API: Vulkan v: 1.4.321 layers: 6 device: 0 type: discrete-gpu name: AMD
    Radeon RX 9070 XT (RADV GFX1201) driver: mesa radv v: 25.2.1-arch1.4
    device-ID: 1002:7550 surfaces: N/A
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor gpu: corectrl wl: wayland-info
    x11: xdpyinfo, xprop, xrandr
Audio:
  Device-1: Advanced Micro Devices [AMD/ATI] Navi 48 HDMI/DP Audio
    driver: snd_hda_intel v: kernel pcie: gen: 5 speed: 32 GT/s lanes: 16
    bus-ID: 07:00.1 chip-ID: 1002:ab40 class-ID: 0403
  Device-2: Advanced Micro Devices [AMD] Starship/Matisse HD Audio
    vendor: Gigabyte driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 16 bus-ID: 09:00.4 chip-ID: 1022:1487 class-ID: 0403
  Device-3: Microdia Defender G-Lens 2577 HD720p Camera
    driver: snd-usb-audio,uvcvideo type: USB rev: 2.0 speed: 480 Mb/s lanes: 1
    mode: 2.0 bus-ID: 1-6.4:8 chip-ID: 0c45:6341 class-ID: 0102
    serial: <filter>
  Device-4: Logitech Logitech USB Microphone driver: snd-usb-audio type: USB
    rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-9:7 chip-ID: 046d:0a03
    class-ID: 0102
  API: ALSA v: k6.16.4-2-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: PipeWire v: 1.4.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Realtek RTL8125 2.5GbE vendor: Gigabyte driver: r8169 v: kernel
    pcie: gen: 2 speed: 5 GT/s lanes: 1 port: f000 bus-ID: 04:00.0
    chip-ID: 10ec:8125 class-ID: 0200
  IF: eno1 state: down mac: <filter>
  IF-ID-1: enp9s0f3u2 state: unknown speed: -1 duplex: half mac: <filter>
  IP v4: <filter> type: dynamic noprefixroute scope: global
    broadcast: <filter>
  IP v6: <filter> type: dynamic noprefixroute scope: global
  IP v6: <filter> type: noprefixroute scope: link
  Info: services: NetworkManager,systemd-timesyncd
  WAN IP: <filter>
Bluetooth:
  Device-1: TP-Link UB500 Adapter driver: btusb v: 0.8 type: USB rev: 1.1
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-6.3:6 chip-ID: 2357:0604
    class-ID: e001 serial: <filter>
  Report: btmgmt ID: hci0 rfk-id: 0 state: up address: N/A
  Device-2: OPPO OnePlus 8T driver: rndis_host v: kernel type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-2:12 chip-ID: 22d9:276a
    class-ID: 0a00 serial: <filter>
Logical:
  Message: No logical block device data found.
RAID:
  Message: No RAID data found.
Drives:
  Local Storage: total: 1.58 TiB used: 410.21 GiB (25.3%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Western Digital
    model: WDS100T1X0E-00AFY0 size: 931.51 GiB block-size: physical: 512 B
    logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: 614900WD temp: 47.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Kingston model: SA400S37240G
    size: 223.57 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: B1H5 scheme: GPT
  ID-3: /dev/sdb maj-min: 8:16 vendor: Western Digital
    model: WD5000AZRX-00A8LB0 size: 465.76 GiB block-size: physical: 4096 B
    logical: 512 B speed: 6.0 Gb/s tech: N/A serial: <filter> fw-rev: 1A01
    scheme: GPT
  Message: No optical or floppy data found.
Partition:
  ID-1: / raw-size: 201.18 GiB size: 196.97 GiB (97.90%)
    used: 45.93 GiB (23.3%) fs: ext4 dev: /dev/sda1 maj-min: 8:1 label: N/A
    uuid: 2f94e091-18eb-4d17-8ce6-b5b9c5e2fbd9
  ID-2: /boot/efi raw-size: 2 GiB size: 2 GiB (99.80%) used: 320 KiB (0.0%)
    fs: vfat dev: /dev/sda2 maj-min: 8:2 label: N/A uuid: 60D5-CE4B
  ID-3: /bup raw-size: 465.76 GiB size: 457.38 GiB (98.20%)
    used: 105.83 GiB (23.1%) fs: ext4 dev: /dev/sdb1 maj-min: 8:17 label: N/A
    uuid: bdf4e699-30b8-4f7f-b1c4-4b4b24fccfd1
  ID-4: /gms raw-size: 931.51 GiB size: 915.82 GiB (98.31%)
    used: 258.44 GiB (28.2%) fs: ext4 dev: /dev/nvme0n1p1 maj-min: 259:1
    label: N/A uuid: 1d47530f-0c2e-4937-845a-27ed744ec242
Swap:
  Alert: No swap data was found.
Unmounted:
  Message: No unmounted partitions found.
USB:
  Hub-1: 1-0:1 info: hi-speed hub with single TT ports: 10 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Hub-2: 1-6:2 info: Genesys Logic Hub ports: 4 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 power: 100mA
    chip-ID: 05e3:0608 class-ID: 0900
  Device-1: 1-6.1:4 info: SiGma Micro Keyboard TRACER Gamma Ivory
    type: keyboard,HID driver: hid-generic,usbhid interfaces: 2 rev: 1.1
    speed: 1.5 Mb/s (183 KiB/s) lanes: 1 mode: 1.0 power: 98mA
    chip-ID: 1c4f:0002 class-ID: 0300
  Device-2: 1-6.3:6 info: TP-Link UB500 Adapter type: bluetooth
    driver: btusb interfaces: 2 rev: 1.1 speed: 12 Mb/s (1.4 MiB/s) lanes: 1
    mode: 1.1 power: 500mA chip-ID: 2357:0604 class-ID: e001 serial: <filter>
  Device-3: 1-6.4:8 info: Microdia Defender G-Lens 2577 HD720p Camera
    type: video,audio driver: snd-usb-audio,uvcvideo interfaces: 4 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 power: 500mA
    chip-ID: 0c45:6341 class-ID: 0102 serial: <filter>
  Device-4: 1-7:3 info: Integrated Express RGB LED Controller type: HID
    driver: hid-generic,usbhid interfaces: 1 rev: 2.0 speed: 12 Mb/s (1.4 MiB/s)
    lanes: 1 mode: 1.1 power: 100mA chip-ID: 048d:5702 class-ID: 0300
  Device-5: 1-8:5 info: Pixart Imaging Optical Mouse type: mouse
    driver: hid-generic,usbhid interfaces: 1 rev: 1.1
    speed: 1.5 Mb/s (183 KiB/s) lanes: 1 mode: 1.0 power: 100mA
    chip-ID: 093a:2521 class-ID: 0301
  Device-6: 1-9:7 info: Logitech Logitech USB Microphone type: audio
    driver: snd-usb-audio interfaces: 2 rev: 2.0 speed: 12 Mb/s (1.4 MiB/s)
    lanes: 1 mode: 1.1 power: 60mA chip-ID: 046d:0a03 class-ID: 0102
  Hub-3: 1-10:9 info: Genesys Logic Hub ports: 4 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 power: 100mA
    chip-ID: 05e3:0608 class-ID: 0900
  Hub-4: 2-0:1 info: super-speed hub ports: 4 rev: 3.1
    speed: 10 Gb/s (1.16 GiB/s) lanes: 1 mode: 3.2 gen-2x1 chip-ID: 1d6b:0003
    class-ID: 0900
  Hub-5: 3-0:1 info: hi-speed hub with single TT ports: 4 rev: 2.0
    speed: 480 Mb/s (57.2 MiB/s) lanes: 1 mode: 2.0 chip-ID: 1d6b:0002
    class-ID: 0900
  Device-1: 3-2:12 info: OPPO OnePlus 8T type: bluetooth,CDC-data
    driver: rndis_host interfaces: 2 rev: 2.0 speed: 480 Mb/s (57.2 MiB/s)
    lanes: 1 mode: 2.0 power: 500mA chip-ID: 22d9:276a class-ID: 0a00
    serial: <filter>
  Hub-6: 4-0:1 info: super-speed hub ports: 4 rev: 3.1
    speed: 10 Gb/s (1.16 GiB/s) lanes: 1 mode: 3.2 gen-2x1 chip-ID: 1d6b:0003
    class-ID: 0900
Sensors:
  System Temperatures: cpu: 53.9 C mobo: N/A gpu: amdgpu temp: 55.0 C
    mem: 57.0 C
  Fan Speeds (rpm): N/A gpu: amdgpu fan: 207
Repos:
  Packages: 1427 pm: pacman pkgs: 1378 libs: 380 tools: pamac pm: flatpak
    pkgs: 49
  Active pacman repo servers in: /etc/pacman.d/mirrorlist
    1: https://mirrors.cicku.me/manjaro/stable/$repo/$arch
    2: https://mirror.alwyzon.net/manjaro/stable/$repo/$arch
    3: https://mirror.raiolanetworks.com/manjaro/stable/$repo/$arch
    4: https://manjaro.ynh.ovh/stable/$repo/$arch
    5: https://ziply.mm.fcix.net/manjaro/stable/$repo/$arch
    6: https://mirror.kamtv.ru/manjaro/stable/$repo/$arch
    7: https://mirrors.ucr.ac.cr/manjaro/stable/$repo/$arch
    8: https://gsl-syd.mm.fcix.net/manjaro/stable/$repo/$arch
Processes:
  CPU top: 5 of 307
  1: cpu: 10.2% command: librewolf pid: 197152 mem: 659.3 MiB (2.0%)
  2: cpu: 9.4% command: librewolf pid: 196906 mem: 497.3 MiB (1.5%)
  3: cpu: 6.9% command: konsole pid: 253298 mem: 164.3 MiB (0.5%)
  4: cpu: 4.2% command: librewolf pid: 252098 mem: 547.9 MiB (1.7%)
  5: cpu: 2.8% command: zsh pid: 253327 mem: 8.65 MiB (0.0%)
  Memory top: 5 of 307
  1: mem: 659.3 MiB (2.0%) command: librewolf pid: 197152 cpu: 10.2%
  2: mem: 547.9 MiB (1.7%) command: librewolf pid: 252098 cpu: 4.2%
  3: mem: 497.3 MiB (1.5%) command: librewolf pid: 196906 cpu: 9.4%
  4: mem: 489.4 MiB (1.5%) command: plasmashell pid: 196362 cpu: 0.3%
  5: mem: 451.5 MiB (1.4%) command: librewolf pid: 197201 cpu: 0.6%
Info:
  Processes: 307 Power: uptime: 1d 22h 49m states: freeze,mem,disk
    suspend: deep avail: s2idle wakeups: 0 hibernate: platform avail: shutdown,
    reboot, suspend, test_resume image: 12.47 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 257 default: graphical
    tool: systemctl
  Compilers: gcc: 15.2.1 Shell: Zsh v: 5.9 running-in: konsole inxi: 3.3.39


I think it’s setup so that it uses all memory. Didn’t see any options for setting any limit for the memory. Is there any other CPU stress test tools that someone could recommend?

It’s weird cause before it was working just fine. Ive had couple of reinstalls of OS after that though.

You don’t have any swap space.

32 GB of RAM might look plenty
but might not be enough in some cases

And you don’t have any swap to back up RAM …

2 Likes

But before it used to work even without swap with 16GB of RAM. So wonder what has changed there?

Well, I had to search before having any idea what “prime95” or a “Blend test” was. What I’ve managed to glean from online sources seems to indicate that sufficient swap would likely be welcome to help compensate for stresses introduced through the severe overclocking.

And this really says it all. Even with 32 GB of RAM, the message clearly indicates your system reached a point where all resources were exhausted. You ran out of memory!

Having configured swap would have gone a long way toward anticipating that scenario, and allowing data held in RAM to be swapped out to a swap partition (preferably) or file (if your / has sufficient space).

Regards.


I found this (Reddit) post (published in 2018);
an interesting rant - you might enjoy it. :wink:

Don’t use prime95 until you’ve read this

Full text:

As many of you are aware, I’ve been investigating Prime95 for a while now and have a set of preliminary findings ready for you guys.

The Much-Requested Short Version: None of the presets do what they say they do - exactly what they really do depends on how much cache your CPU has per thread. If you turn off AVX and FMA3, you aren’t testing instructions that are being increasingly used in more and more every day applications and games. Blend test is super-sketchy as it’s load varies a LOT depending on whether you have hyperthreading/SMT or not. Overclocking your memory after your CPU could invalidate your CPU testing if you used FFTs above the cache-miss bottleneck point.

Hey, I said it would be short, I didn’t say it wouldn’t still be confusing :wink:

Background

Prime95 is a distributed computing effort searching for Mersenne prime numbers. Version 1 was released in 1996 and there have been a huge number of improvements, bug fixes and optimizations for specific CPUs and instruction sets since then. The “torture test” feature is intended to allow those contributing to the project to ensure their CPUs are stable under the heavy loads it’s routines generate and has been considered the “platinum standard” in the overclocking community for a long time. The introduction of support for AVX instructions caused controversy among overclockers with the greatly increased power consumption and temperatures generated by testing using an instruction set whose use in other software was unheard of leading many to label Prime95 unrealistic and abandon it for other stress testing regimes. With support today for AVX and FMA3 available in specialised FFT routines and adoption of those instruction sets in every day software and games on the rise, it’s time to reconsider stability testing regimes for these instruction sets.

Torture Test Parameters

Prime95’s torture test dialog includes options to configure custom stress tests alongside it’s three built-in presets. Understanding how the options change the behavior of the FFT routine that the stress test uses is an important part of learning how to get the best out of Prime95. Let’s focus on the custom settings first.

The most important option is the “Run FFTs in-place” check box. With this enabled the FFT routine will use the smallest memory footprint possible, while unchecking this box allows you to enter a figure in the “Memory to use” box, setting a custom memory pool that the routine will spread it’s data out into.

The next option to understand is the FFT test range, configured through the Min and Max FFT size boxes. With Run-In-Place mode enabled, the amount of memory the FFT routine needs is directly connected to the FFT size:

Varying the data set size required to run FFT routines in Run-In-Place mode is the main method of customizing which parts of your system are being placed under heavy stress by changing where in the cache/memory hierarchy the CPU core bottleneck lies:

The data sets required for smaller FFTs fit entirely inside the CPU cache, allowing the cores to run at their fastest possible rate. As the data sets increase in size and overflow from the cache into system RAM, power consumption drops off smoothly as the frequency of cache misses increases and the CPU cores begin to become bottlenecked, levelling off once the data set becomes too big for cache to be of any practical use and the cores are entirely at the mercy of system memory performance. If you are aware of where the significant changes take place, you can adjust your test FFT sizes to focus on cores, cache, the IMC and memory.

While this is easily seen in the above chart for the FMA3 and AVX routines, it is less obvious that the SSE routines also follow the same load pattern for the cache and memory. The primary difference is that the performance of the SSE routine doesn’t scale anywhere near as well as the AVX or FMA3 routines when the memory bottleneck is removed.

(NB: Power consumption measurements do not provide a basis for performance comparison across routines due to differences in the code paths causing variations in the efficiency of each routine)

Given that the performance profiles of the various FFT sizes is based on resource contention, we now have to consider another factor that makes running Prime95 a lot trickier than you might be thinking so far - CPUs come with different thread counts and cache quantities. Let’s turn HyperThreading off on our 4770K and see what effect that has on the power consumption profile:

Without HyperThreading enabled the power consumption in most cases drops by the expected approx. 10%, but with fewer threads to contend for L3 cache space, it takes a much larger FFT size for the CPU to begin seeing cache-misses. Effectively, this makes the In-Place Large FFTs test operate inconsistently across CPUs with different ratios between their L3 cache size and thread count. This makes the concept of universal preset FFT ranges for specific tests obsolete.

Going back to the idea of specific FFT sizes and ranges being suited to testing certain system components, it may be possible to generate sets of tests based on the cache/thread ratio applicable across all CPUs that share that metric. By generating a power consumption/FFT size profile as above, specific points and ranges can be picked out:

It should be noted that the Cache and CPU Core test ranges should generally only be run with FMA3 and AVX disabled, unless you’re specifically aware you’ll be running workloads that stressful. The IMC test should be run with FMA3 to provide the heaviest load. The “Realistic” CPU Test should ideally be run using all three FFT types to ensure stability using all available code paths.

(NB: The “Realistic” CPU test relies on memory bottlenecking to maintain it’s realism - any alterations to the memory frequency or timings will invalidate any CPU stability testing completed using this preset, so overclock your memory first!)

The Blend Test Problem

With Run-In-Place mode disabled and a memory pool set, the FFT routines show a very different power consumption profile across the FFT range:

Due to the deliberately increased memory usage, the cache-miss bottleneck range is reached at a lower FFT size. Performance tanks very quickly as the altered memory access pattern causes lots of cache misses almost immediately.

This mode is best used purely for memory integrity tests. CPU cache is exhausted so quickly that it should be perfectly safe to suggest an FFT range of 512-4096k would be perfectly suitable for testing memory on pretty much any CPU.

However, it’s worth noting that Prime95 has a problematic eccentricity to the way Memory Pool tests are run. Every even-numbered test in an FFT size will ignore the memory pool and use Run-In-Place mode instead. This gives us a problem with the “Blend” preset depending on whether your CPU supports HT or SMT.

With two threads running simultaneously on a single core, efficiency is increased as the CPU is more likely to be able to schedule instructions for more of it’s execution modules per tick. This theoretically allows it to finish two simulataneous tasks in a little under the time a single thread per core would complete two tasks back-to-back. This creates inconsistency in the way the Blend preset runs depending on the CPU:

Any tests completed faster than the 3min Blend Limit will cause a second test to start in Run-In-Place mode. As you can see, running the FMA3 routine with HT will trigger a second test far less often resulting in a less blended Blend test. To compound matters, the time taken to complete a test is directly affected by CPU performance - higher CPU frequencies, like the ones you’ll likely be testing out during overclocking, will result in all test times being reduced, making the inconsistencies harder to account for when planning a test regime.

My personal advice would be to disable this second-test RIP feature by setting the test time limit to 0.1m - effectively 6 seconds. This should be a short enough time limit to prevent any current CPU at any level of overclocking or threads-per-core from completing tests quickly enough to beat the timer and trigger a RIP test. (EDIT: some people have had issues with Prime95 ignoring decimals in the time limit and just rounding it up to 1min. Will confirm it works for me when I get home after Christmas. If I remember)

Conclusion (updated)

As CPU architecture has progressed, the torture test interface in Prime95 has become increasingly misleading. While doing background research for this investigation I found a number of articles and guides to Prime95 that obviously just trusted exactly what the interface said without validating it’s accuracy. I’ve been using Prime95 for 15+ years and can’t remember the descriptions of the presets changing once. As such it is impossible to recommend Prime95 torture test to newcomers at this time as configuring a stress test to do what you want it to is an opaque process with virtually no information concerning how to do it - unless you can reverse engineer the testing I’ve done here and built your own power/FFT profile for every CPU you want to test, of course. This is far too much work for the average overclocker to consider, even if they can suss it out.

Moving forward a replacement for the presets built in to Prime95 needs to be developed. It’s possible in the short term that sets of presets based on the cache/thread metric would be sufficient.

Notes

  • All test results so far in this investigation have been obtained using a platform with support only for DDR3 memory. While DDR4 testing is planned for the near future, I doubt any significant change in recommendations will arise following the generation of those results.
  • Although not shown here, further data was collected using an i5-4690K, specifically checking around the FMA3 FFT size where a CPU with 1.5MB of cache would start to cache-miss bottleneck. Only a few data points needed to be developed to confirm the cache-per-thread metric as a valid predictor of where the important FFT sizes will be.
  • Due to variation in test completion time caused by OS background processes and other tasks (in this case, HWiNFO and Task Manager) the times recorded for test completion are measured from the moment the test is started to the moment the first thread completes a test.
  • I haven’t been able to confirm this, but Prime95 may increase it’s overhead memory usage over time as more tests are run. This may be partly (or entirely) due to the activity logs maintained for the main UI and each thread and can be seen in the 4770K Run-In-Place Memory Usage chart AVX data set. The system crashed during testing and reset the memory consumption, although the accuracy of the data actually required for this investigation makes this no problem - far from looking for specific pieces of data, this investigation was all about spotting trends.

So yeah, that’s about it. All the presets suck, AVX is showing up in too many places to just be ignored any more and a lot more work is necessary to generate the data we need to start meaningfully using Prime95 again.

Penny for your thoughts?

3 Likes

I started using OCCT. Seems that it has errors with my overclock when both RAM and CPU are used. Never knew that ive ran unstable build for over three years without any issues. :smiley:

… don’t overclock and you might have no problem anymore :wink:
and get yourself some swap

3 Likes