Sistemi per scoprire se avete la memoria del PC difettosa

Memoria bacata

Il vostro computer comincia a comportarsi in modo strano ultimamente? Se avete Windows, magari la causa più probabile può essere di un virus che si è intrufolato, ma con Linux è molto più probabile che ciò sia dovuto ad un guasto hardware e sul banco degli imputati la Ram è la prima a dover deporre!

Eventi anomali

State usando il sistema, avete un di applicazioni aperte, quali Firefox, Gimp, Thunderbird e durante l’arco della giornata cominciate ad avere delle chiusure inattese dello stesso programma, più e più volte. Magari un programma che va in crash potrebbe essere dovuto ad un suo baco, ma averne tre o quattro differenti può essere già un sintomo di memoria RAM bacata.

Oppure lanciate un programma e questo non si apre. Riprovate una decina di minuti più tardi e questo si apre. Strano vero?

Se aveste lanciato lo stesso programma da riga di comando magari avreste visto che durante il caricamento uscivano dei messaggi strani relativi a glibc e corruzioni varie. Anche qui c’è un sintomo di memoria bacata (perchè 10 minuti dopo il Kernel ha assegnato uno spazio indirizzi di memoria diversa, per cui il programma è riuscito ad avviarsi normalmente non essendo nell’area di memoria difettosa…).

Ottenete dei kernel panic di Linux, sia tramite avviso su console e beep vari, sia che il sistema rimane inesorabilmente bloccato?

Alt, di Kernel Panic di Linux dal 1999 che lo uso ne ho avuto solo uno che era relativo ad un driver bacato (stavo usando un driver sperimentale per una scheda audio e le note dichiaravano che potevano esserci dei freeze), tutti gli altri li ho avuti solo in corrispondeza di Ram bacata!

Avere la prova di Ram bacata

Se i sintomi sopra possono essere considerati ancora abbastanza generici e vogliamo la prova definitiva prima di comperare dei nuovi chip di ram, ci sono alcuni software che ci possono aiutare:

  • Mprime
  • Memtest
  • Macchina virtuale + Memtest

Mprime

MPrime è un programma del progetto Mersenne che cerca di trovare dei numeri primi di Mersenne: sono dei primi mostruosi e per verificarne la primalità possono volerci anche 6 mesi di tempo di calcolo CPU. Gli algoritmi di calcolo sono così potenti da stressare tutto il pc in maniera considerevole (noterete un aumento medio della temperatura della cpu, anche in confronto all’utilizzo con altri sistemi di calcolo massivo, quali Boinc, quando usate Mprime).

Mprime può pertanto essere usato per testare se il vostro pc ha dei problemi hardware (di cui la memoria è quasi sempre la colpevole), perchè basta lanciare il torture test che confrontando dei risultati attesi, è in grado di verificare se il vostro pc regge la botta di calcolo.

Se però lanciate mprime per partecipare al progetto, se dai suoi log vi appare questo:

[Sun Mar 25 13:40:45 2012]
Iteration: 582528/48160139, ERROR: ROUND OFF (0.5) > 0.40
Continuing from last save file.
Iteration: 581120/48160139, ERROR: ROUND OFF (0.5) > 0.40
Continuing from last save file.
[Sun Mar 25 14:00:44 2012]
Iteration: 600320/48160139, ERROR: ROUND OFF (0.5) > 0.40
Continuing from last save file.
Iteration: 584448/48160139, ERROR: ROUND OFF (0.5) > 0.40
Continuing from last save file.
[Tue Mar 27 19:50:14 2012]
UID: ice00/mypc, M57962543 completed P-1, B1=715000, We8: DB801034, AID: 64DE7E8BD755DAEBFD02D16D9D3060C7
[Wed Mar 28 18:10:30 2012]
Iteration: 139520/57962543, ERROR: ROUND OFF (0.5) > 0.40
Continuing from last save file.
Iteration: 1374080/48160139, ERROR: ROUND OFF (0.5) > 0.40
Continuing from last save file.
[Wed Mar 28 18:18:24 2012]
FATAL ERROR: Rounding was 0.4732275996, 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.

beh, c’è poco da fare: il vostro pc ha un guasto hardware.

Memtest

Memtest è un programma nato specificatamente per testare le memorie. Si avvia il programma in modalità live cd e lo si lascia lavorare: quello che esegue il programma è di riempire la memoria con dei pattern e di confrontare se ad una rilettura c’è lo stesso valore: in caso negativo la vostra memoria è bacata.

Si consiglia di solito di lasciarlo andare per almeno due ore (il programma va in continuazione) e se otterrete degli errori allora la vostra RAM è bacata.

E se non gli ottenete? Purtroppo per esperienza ho trovato dei casi in cui RAM bacata non veniva rilevata come tale da Memtest!

Le RAM al giorno d’oggi sono parecchio spinte per lavorare a frequenze molto alte ed inoltre possono lavorare, ad esempio, in dual channel con un altro chip di memoria: dipendono quindi molto anche dalla scheda madre.

Può pertanto esserci un problema latente nella memoria che solo in fase di stress (come con mprime) di tutto il pc diventa manifesto: in questo caso memtest non incorre nel baco dato che il sistema sta usando solo la memoria.

Ma si può andare oltre? Certo, il prossimo punto è il mio preferito per la verifica di Ram bacata.

Machina virtuale + Memtest

Abbiamo visto che durante il lavoro normale, otteniamo dei crash del software che usiamo, allora perchè non lanciare memtest da una macchina virtuale?

E’ semplice, create una macchina virtuale che usi ad esempio metà della RAM che avete disponibile e lanciate memtest nell’ambiente simulato. Avrete quindi:

  • Il vostro pc è sotto stress (ovvero lo state usando con le vostre appicazioni)
  • La memoria è pressochè utilizzata al 100% (50% dalle applicazioni e 50% dala macchina virtuale)
  • Memtest lavora sulla memoria virtualizzata ed è in grado di trovare gli errori, perchè alla fine anche quella virtuale è mappata fisicamente su quella reale

Ecco un esempio pratico di quello che ottenete:

memtest in macchina virtuale
memtest in macchina virtuale

Conclusioni

La prossima volta che notate un comportamento strano sulla vostra macchina Linux, ponderate l’idea che potreste avere un problema hardware, perciò utilizzate uno dei metodi qui descritti per sincerarvi se è la Ram l’indiziata numero uno.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.