Something doesn't work. Or you want it to work better. Today you'll learn systematic troubleshooting and real performance optimization.
POST (Power-On Self Test) failures show as: no video output, POST code on motherboard LED (look up the code in the manual), beep codes. Most common causes: RAM not seated (remove and reseat firmly), CPU power cable missing (the 8-pin near the top of the board — separate from 24-pin), GPU not seated or GPU power unplugged, CPU not seated (bent pins on Intel). Isolate components: test with one RAM stick, disconnect all drives, try iGPU if CPU has one.
Symptoms: sudden shutdowns under load, throttled performance, CPU hitting TJ Max (100°C for Intel, 95°C for AMD). Causes: insufficient cooler, poor thermal paste application, cooler not making full contact, case airflow issues. Fixes: reapply thermal paste (old paste dries out over 2–3 years), upgrade cooler, add case fans, set aggressive fan curves in BIOS. Ideal: <75°C under sustained load, <85°C under short bursts.
Monitoring tools: HWiNFO64 (Windows), sensors/nmon (Linux) — track CPU/GPU temp, clocks, power draw, RAM usage in real time. Benchmark with Cinebench R23 (CPU), 3DMark (GPU), CrystalDiskMark (storage). Stability testing: Prime95 for CPU (30 min torture test), MemTest86 for RAM (bootable, run overnight). If crashes occur during stress test but not normal use, you may have a cooling or PSU issue.
#!/bin/bash
# Linux hardware monitoring and stress test setup
# Install monitoring tools
sudo apt install -y stress-ng s-tui lm-sensors cpufrequtils
sudo sensors-detect --auto
# Watch CPU temperature, frequency, and load in real time
# s-tui gives a beautiful terminal dashboard
s-tui
# Or manual monitoring loop
watch -n 1 'echo "=== CPU Temps ==="; sensors | grep -E "Core|Package"; \
echo ""; echo "=== CPU Freq ==="; cat /sys/devices/system/cpu/cpu*/cpufreq/scaling_cur_freq | awk "{sum+=\$1;n++} END {printf \"Average: %.0f MHz\\n\", sum/n/1000}"; \
echo ""; echo "=== Memory ==="; free -h'
# CPU stress test (10 minutes)
echo "Starting 10-minute CPU stress test..."
stress-ng --cpu $(nproc) --timeout 600 --metrics-brief
# Storage benchmark
echo "\nDisk write speed:"
dd if=/dev/zero of=/tmp/test bs=1G count=3 oflag=dsync 2>&1 | tail -1
rm /tmp/test
echo "\nDisk read speed:"
dd if=/tmp/bigfile of=/dev/null bs=1G count=3 2>&1 | tail -1
# Check for thermal throttling after stress test
echo "\nMax CPU temp during test:"
journal ctl -n 50 2>/dev/null | grep -i thermal || echo "Check BIOS for thermal events"
Overclock your RAM using XMP/EXPO profile 2 (if available) or manually increase the speed by one step (e.g., DDR5-6000 → DDR5-6200). Run MemTest86. If it passes, try the next step. Document the highest stable speed you can achieve and what started failing first — timing errors or hard crashes. This is how enthusiasts find the actual limit of their hardware.