Úvodem je třeba připustit, že podobných problémů přibylo s příchodem nového jádra řady 2.4. Ačkoliv od jeho oficiální stabilizace uplynula již nějaká doba a v současné době dospěl vývoj už k podverzi 2.4.7, stále ještě se jedná o relativní novinku, jejíž nasazení je tu vřele prosazováno a jinde zase nedoporučováno. Na jistotě asi nepřidají ani občasné povzdechy vývojářů v konferenci lkml: „je v tom chyba, ale nevíme kde.“ (myšlen subsystém virtuální paměti).
Dalším faktorem je jistě skutečnost, že se v posledních letech prudce zvýšil počet uživatelů Linuxu. Už to zdaleka nejsou jen oni pravověrní hackeři, pro které má každý problém své uspokojivé řešení, ale jsou to i „obyčení“ exulanti z Windows, kteří posuzují Linux optikou svých předchozích zkušeností a očekávají od něj podobné chování. Právě jim by mohlo pomoci, kdyby dodržovali zásady popsané v dnešním článku.
1) Nepřetaktovávejte procesor
ani jiné hardwarové součástky (sběrnice, paměti, grafické karty, apod.). Pokud je například na procesoru uvedena nominální frekvence XXX MHz, znamená to, že správná funkce je zaručena právě pro oněch XXX MHz. Pokud se vám podaří úpravou nastavení základní desky dosáhnout frekvence vyšší, může to být sice fajn, ale potom si nestěžujte, když se vám počítač bude občas chovat záhadně. Pokud si přesto chcete vyzkoušet stabilitu (nejen) přetaktovaného procesoru při zátěži, doporučuji použít sadu programů CPUBurn (Burn P5, Burn P6, BurnBX, BurnK6, BurnK7 a BurnMMX). Jejich popis včetně URL naleznete tady.
Zvláště záludné jsou však chyby, kdy samotný procesor po přetaktování sice běží stabilně, ale vinou souběžného přetaktování PCI sběrnice dochází k chybám při přenosu dat z pevného disku (sběrnice IDE je synchronní k PCI). Takovou chybu žádným podobným programem neodhalíte a podle zákonů schválnosti se projeví tehdy, když ji budete nejméně potřebovat.
2) Vylučte vadné součástky
obvyklým argumentem nespokojených uživatelů Linuxu jsou věty jako: „ale vždyť ve Windows XX mi to funguje“. Zkušenost ukazuje, jak nesmyslný je to argument. Základním předpokladem správné funkce jakéhokoliv software je správná funkce hardware. Pokud máte v počítači vadnou paměť s byť jen jedinným špatným bitem na nějaké vysoké adrese, můžete třeba měsíc uspokojivě prohánět Windows, ale Linux na takovém počítači ani nenastartujete. Linux jako od základů víceúlohový operační systém využívá dostupnou paměť podstatně agresivnějším způsobem než třeba Windows, takže pokud máte špatný paměťový čip, chyba se většinou rychleji projeví. Vadné paměti lza najít pomocí programu memtest86, jehož recenzi přinesly poslední Linuxové noviny.
Paměti nejsou jedinou součástkou, která si při problémech zaslouží podezření. Evergreenem linuxových diskusních konferencí se staly problémy s čipovou sadou VIA 686B, UDMA řadiči HPT366, základní deskou Abit BP6, grafickými kartami nVidia atd. Pokud je chyba v hardwaru, někdy pomůže aktualizace BIOSu, jindy problém nemá uspokojivé řešení.
3) Dbejte na správné chlazení
Doby, kdy se do počítačů montovaly procesory, které se samy o sobě dokázaly zbavit svého odpadního tepla, jsou už dávno pryč. Dnešní gigahertzové čipy potřebují kvalitní chlazení nejen ke správné funkci – aktivní chladiče jsou pro ně dokonce životně důležité, neboť bez nich by se mohly rychle zničit. Obecně platí, že procesory Intel jsou na tom o něco lépe než AMD, pro které může být byť jen krátkodobý provoz bez chlazení smrtící. V exponovanějších počítačích je navíc vhodné chladit i další součástky, jako třeba vysokootáčkové pevné disky apod. Při problémech určitě není od věci přesvědčit se, že otáčky ventilátorů jsou OK a že procesor se nezahřívá víc, než je zdrávo. Pomůže vám k tomu třeba balík programů lm_sensors, kterému byl již na ROOTu věnován článek.
4) Používejte ověřené jádro
Častou chybou začínajících uživatelů Linuxu je zdání, že pro jejich počítač je nejvhodnější ta nejnovější dostupná verze jádra, říznutá několika aktuálními featurami z linux-kernel mailing listu, a to vše navíc ještě vlastnoručně zkompilované pomocí agresivně optimalizujícícho překladače. Skutečnost je ale zcela jiná. Autoři velkých (zejména komerčních) distribucí (RedHat, SuSE, Mandrake, …) si dávají před uvedením nové verze velkou práci s co možná nejlepším odladěním jádra, aby verze poslaná do světa byla odzkoušená a co možná nejméně problémová. Naopak vývojáři oficiálních jader se snaží maximálně urychlit implementaci nových funkcí a vlastností. Při periodách vydávání nových kernelů není možné a ani žádoucí, aby bylo v nové distribuci vždy to nejčerstvější dostupné jádro. Proto se tvůrci distribuce v určité fázi příprav shodnou na jedné konkrétní verzi, kterou testují a odlaďují, přičemž nepřestávají sledovat vývoj oficiálních (vanilla) kernelů, aby mohli opravovat případné chyby. Tak se stane, že například v distribuci RedHat 7.1 nalezneme jádro s nominální verzí 2.4.2, které je doplněno několika desítkami patchů opravujících známé chyby, ale navíc je ještě dlouhodobě testováno na podstatně širší množině strojů než kterékoliv oficiální jádro.
Pokud tedy nemáte opravdu dobrý důvod, proč si zkompilovat svoje jádro (vlastní ovladače, málo paměti …), měli byste zůstat u toho, které je součástí vaší distribuce, jinak si zaděláváte na problémy. Toto pravidlo platí i pro další profilující programy v distribuci, jako jsou třeba glibc, gcc, rpm, KDE nebo XFree86. Vždy je dobré přemýšlet, kdy postačí ruční upgrade klíčových komponent s rizikem nutnosti řešení potenciálních problémů, a kdy už je vhodné upgradovat celou distribuci.
5) Čtěte dokumentaci
Většina rozsáhlějších programů obsahuje průvodní dokumentaci (Release Notes) upozorňující na problémy, které by vás při instalaci a provozu mohly potkat. Vyplatí se brát tyto instrukce na vědomí.