Portál AbcLinuxu, 12. května 2025 11:20

Dotaz: Jak řeší linux kontrolu konzistence RAM

5.7.2010 16:56 ramcheck
Jak řeší linux kontrolu konzistence RAM
Přečteno: 726×
Odpovědět | Admin
Řeší nějakým způsobem linux kernel konzistenci dat uložených v ram? Mám namysli jestli je tam nějaký kontrolní mechanismus pro zjišťování špatných bitů v paměti, něco jako softwarové řešení ECC.
Nástroje: Začni sledovat (2) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Luboš Doležel (Doli) avatar 5.7.2010 17:12 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
Odpovědět | | Sbalit | Link | Blokovat | Admin
Něco takového by žralo výkon a paměť a k čemu by to bylo, když je tu hardwarové ECC...
5.7.2010 17:59 ramcheck
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
ECC paměti mám snad jen na 2 nejdůležitějších serverech, jinde ne, tak by se to hodit mohlo.
Luboš Doležel (Doli) avatar 5.7.2010 18:10 Luboš Doležel (Doli) | skóre: 98 | blog: Doliho blog | Kladensko
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
Dovedete si představit náročnost softwarově vykonávaného ECC? Přijde mi to asi tak efektivní jako obraceč směru vodního víru ze Simpsonů.

Navíc si ani nedovedu představit, jak by taková implementace fungovala. Načtení hodnoty z paměti by vyvolalo spuštění kódu pro ECC, který by se sám musel číst z paměti...
5.7.2010 18:18 ramcheck
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
Ona by stačila nějaká implementace CRC, které by se čas od času kontrolovalo.
5.7.2010 18:37 Decimus Junius Brutus Callaicus
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
Mozna byste se nad tim, co rikate, mohl zamyslet.
Heron avatar 5.7.2010 21:17 Heron | skóre: 53 | blog: root_at_heron | Olomouc
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
To je trochu problém. Programy přistupují k přidělené paměti přímo. Softwarové ECC by znamenalo pro každý zápis do paměti vypočítat kontrolní součet (tedy pro programy to znamená volat nějakou funkci jádra) a pro každé čtení jej přečíst a porovnat s obsahem paměti (další volání). Tzn pro každou stránku paměti ještě alokovat paměť CRC. Zpomalení by znamenalo mnohem větší náklady na ekvivalentní HW, než stojí paměťový modul s ECC.
5.7.2010 21:48 ramcheck
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
Jak často vlastně v paměti dochází k chybám a jak jsou vážné? Přemýšlím jestli se vyplatí ta ECC paměť(tam kde to deska podporuje).
5.7.2010 23:17 JF | skóre: 23
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
Pokud by jste chtěl letět do vesmíru, tak tam jsou chyby paměti velice časté. Na to jsou také vyráběny o mnoho dražší paměti, které vydrží průlet nabitou vysokoenergetickou částicí a ta pozmění jen pár bitů.

Ale teď vážně, paměť je třeba před nasazením řádně otestovat. Projde-li memcheck po dobu 24hodin bez odhalení chyby, tam máte 99,9999 procentní jistotu, že paměť poběží správně i nadále. Všechny chyby paměti, se kterými jsem se dosud setkal se daly odhalit tímto způsobem. Většinou pocházely z toho, že se řadič s pamětí občas nedohodl. Jako jeden z ukazatelů na chyby v paměti je možné cvičně zkompilovat kernel Linuxu.
6.7.2010 12:51 Michal2
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
To jsi mel spis stesti. Realisticky jde myslim uvazovat o 1 % sanci na opravitelnou ECC chybu na modul a rok nonstop behu.

Paper: http://www.cs.toronto.edu/~bianca/papers/sigmetrics09.pdf

Osobni zkusenosti mam jen z 28 serveru, cast se 4 cas s 8 moduly, vsechny prosly tydenni mucirnou pred nasazenim bez uhony a behem necelych dvou let jsme meli dva pripady recoverable ECC.
6.7.2010 12:59 VSi | skóre: 28
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
Jaké nástroje používáte na to úvodní testování serverů? Ta recoverable ECC se objeví v management rozhraní serveru nebo v syslogu operačního systému? Díky.
6.7.2010 13:12 Michal2
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
Linux sam o sobe pri vzniku recoverable ECC chyby (AFAIK) mlci jako hrob. Proto pouzivame EDAC http://buttersideup.com/edacwiki/Main_Page

Pro testovani nejdrive poustime nekonecnou smycku memtest86 na den - tohle proveri zejmena pamet, dale nasleduje prime namnozeny podle poctu jader dalsi den - tohle proveri pamet, radic a procesor. A nakonec tam pustime zatez, ktera emuluje bezny provoz ale s mnohem vetsi intenzitou nez mame ve spicce - tohle 5 dnu.
6.7.2010 23:38 JF | skóre: 23
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
Dekuji za poučení. Protože nepoužívám ECC tak poznám chybu paměti jen ze zatuhnutí systému. A to se některé chyby mohou ztratit a zahladit, třeba při routování paketů se prostě jeden paket ztratí.
5.7.2010 23:26 JF | skóre: 23
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
Ale ne, ECC je někdy víceúrovňové. To umí opravit jeden poškozený bit automaticky. Na více chybných bitů řadič ECC - EDAC vyvolá vyjimku a CPU zkusí z Hardwarově aktualizovaného dodatku ke stránce zkorigovat další bity. Při této SW korekci už pomalost CPU nevadí.
7.7.2010 09:39 faha
Rozbalit Rozbalit vše Re: Jak řeší linux kontrolu konzistence RAM
Odpovědět | | Sbalit | Link | Blokovat | Admin

sice trochu neco krapet jineho, ale zkuste mrknout

http://rick.vanrein.org/linux/badram/index.html

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.