RAM checken
Nachdem die HDDs Ok sind testen wir jetzt den Arbeitsspeicher!
Hier ein kleines Script dafür!
#!/bin/bash
# Target configuration
target_user="root"
# Ensure memtester is installed
if ! command -v memtester >/dev/null; then
echo "Installiere memtester..."
sudo apt update && sudo apt install -y memtester
fi
# Get free memory in MB (minus a small safety margin for the OS)
free_mem=$(free -m | awk '/^Mem:/{print $4}')
test_mem=$((free_mem - 128))
if [ $test_mem -le 0 ]; then
echo "Fehler: Zu wenig freier Speicher zum Testen."
exit 1
fi
echo "--- ECC RAM Belastungstest ---"
echo "Teste $test_mem MB in 2 Durchgängen..."
echo "Parallel dazu wird auf ECC-Fehlermeldungen geprüft."
# Start background monitoring for ECC errors
(
while true; do
if [ -d /sys/devices/system/edac/mc ]; then
for mc in /sys/devices/system/edac/mc/mc*; do
ce=$(cat "$mc/ce_count")
if [ "$ce" -gt 0 ]; then
echo "!!! ECC WARNING: $ce Correctable Errors detected on $(cat $mc/mc_name) !!!"
fi
done
fi
sleep 5
done
) &
monitor_pid=$!
# Run memtester
if ! sudo memtester "${test_mem}M" 2; then
echo ""
echo "🟡 Warnung: Zugriff verweigert / Fehlende Rechte"
echo "Datei: memtester binary / memory access"
echo ""
echo "Mögliche Lösung:"
echo "Bitte prüfe im Skript-Header, ob die Variable target_user korrekt gesetzt ist (aktuell: target_user=\"$target_user\")."
echo ""
echo "Manuelle Reparatur:"
echo "Führe das Skript mit 'sudo' aus oder prüfe die Berechtigungen für /dev/mem."
kill $monitor_pid
exit 1
fi
# Cleanup
kill $monitor_pid
echo "Test beendet. Bitte dmesg auf 'EDAC' Einträge prüfen."
#hier ist schluss