Memtest pro živý systém ?

Pavel Troller patrol na sinus.cz
Úterý Březen 26 19:38:29 CET 2013


Zdravím,

> On 26.3.2013 15:00, Pavel Troller wrote:
>> Zdravím,
>>    na jednom ze serverů začala záhadně padat aplikace. Padne vždy jindy, vždy
>> jinak, naprosto stochasticky. Co backtrace, to originál. Většinou corrupted
>> memory (struktury částečně vynulované případně s nesmysly v pointerech, takže
>> segfault je nabíledni).
>>    Soudím, že by mohla skutečně začít zlobit paměť.
>>    Ale ten server nemohu odstavit. Pády nejsou zase tak časté, aby se to dalo
>> ospravedlnit. Proto by mne zajímalo, zda neexistuje jednoduchá aplikace
>> (pod Linux) na testování paměti na živém systému. Představuji si to tak, že
>> si bude postupně alokovat paměť až do určitého zadaného maxima, provede na ní
>> nějaké testy (jako memtest86, ale jen na tom bloku), vrátí ji, chvíli počká,
>> až se činností systému nějaké stránky povyměňují, zkusí to znovu atd, až
>> dokud nebude ukončena. Případné chyby bude normálně psát do console.
>
> A jste si jisty, ze lze nejakym zpusobem alokovat region fyzicke pameti, 
> navic soucasne s tim prestrankovat jeji pouziti po dobu testu? O tom bych 
> celkem pochyboval.

Mně postačí alokovat region logické paměti (např. mmap()'em.). Je mi jedno, jak
to MMU přehází. Bude-li tam chyba, nalezne ji to i tak. Nejde mi o přesnou
fyzickou adresu chyby ani její druh, ale jednoduchý bool chyba je / není.

>
> Jinak my obcas v crashdumpech vidime pady v mistech, kde nemuzou nastat, 
> tj. proste mezi dvemi instrukcemi s registrem 1 se zmeni obsah registru 2 
> nebo se zmeni dword z 0 na -1, bitflipy apod. Proste nahodne HW chyby.

To se tu nezdá být. gdb vždy vidí program na správném místě, ale jeho data
jsou insane. A ta data byla právě přinesena odněkud z paměti.

Zdraví Pavel



Další informace o konferenci Hw-list