abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×

dnes 03:00 | Komunita

Bylo spuštěno hlasování o přednáškách a workshopech pro letošní InstallFest, jenž proběhne o víkendu 3. a 4. března 2018 v Praze na Karlově náměstí 13. Hlasovat lze do pondělí 29. ledna 2018.

Ladislav Hagara | Komentářů: 0
dnes 02:00 | Zajímavý software

Projekt Document Liberation, jehož cílem je vývoj knihoven pro zpřístupnění (osvobození) dokumentů vytvořených v proprietárních nebo již nepodporovaných formátech, oznámil vydání 5 nových nebo vylepšených knihoven. Jedná se o knihovnu libe-book pro export dokumentů ve formátu EPUB3 a knihovny libabw, libmspub, libpagemaker a libqxp pro import dokumentů ve formátech AbiWord, MS Publisher, PageMaker a QuarkXPress.

Ladislav Hagara | Komentářů: 0
dnes 01:00 | Komunita

LWN.net, původně Linux Weekly News, slaví 20 let. První číslo vyšlo 22. ledna 1998. Psalo se o devfs, o 2 GB omezení velikosti souborů na souborovém systému ext2 nebo o renderování scén ve filmu Titanic na Linuxu na procesorech Alpha. Aktuální vývojové linuxové jádro bylo 2.1.79. LWN.net je zcela závislé na předplatitelích. Předplatné na měsíc stojí 7 dolarů. Články na LWN.net jsou týden od vydání k dispozici pouze předplatitelům. Následně jsou uvolněny všem pod licencí CC-BY-SA.

Ladislav Hagara | Komentářů: 0
včera 15:22 | Pozvánky

V sobotu 24. 2. se uskuteční již 5. ročník největší české WordPress konference – WordCamp Praha 2018. Pražský WordCamp bude rozdělen na dva proudy – pro uživatele a pro vývojáře. Je naplánováno 10 přednášek, 6 workshopů, 6 případových studií, Happines Bar a spousty příležitostí pro networking. V neděli se bude dále konat Contributing Day, kde se každý bude moci aktivně zapojit do překladu, či plánování dalších meetupů. Je připraveno 450

… více »
smíťa | Komentářů: 0
včera 05:55 | Komunita

Linus Torvalds oznámil vydání Linuxu 4.15-rc9. Po vydání stabilní verze Linuxu se přibližně na 2 týdny otevře začleňovací okno. To se uzavře vydáním verze rc1. Po týdnech následují další rc verze. Obvykle týden po vydání verze rc7 nebo rc8 následuje vydání nové stabilní verze Linuxu. Verze rc9 byla naposledy vydána před více než 6 lety, 4. října 2011. Jednalo se o Linux 3.1. Tenkrát následovala ještě verze rc10.

Ladislav Hagara | Komentářů: 13
21.1. 21:55 | Zajímavý článek

Greg Kroah-Hartman se v příspěvku na svém blogu věnuje aktuálnímu stavu řešení bezpečnostních chyb Meltdown a Spectre v Linuxu. Jak je na tom Váš Linux? Stačí spustit příkaz "grep . /sys/devices/system/cpu/vulnerabilities/*". Pro více informací lze doporučit Spectre & Meltdown Checker.

Ladislav Hagara | Komentářů: 46
19.1. 18:55 | Komunita

NHSbuntu (Joinup, prezentace) měla být z Ubuntu vycházející linuxová distribuce přizpůsobená pro potřeby britské Národní zdravotní služby (NHS). NHS se název nelíbil, nejednalo se o oficiální projekt NHS, a proto bylo NHSbuntu v září loňského roku přejmenováno na NHoS. Vývojáři NHoS tento týden oznámili, že NHS se nelíbí ani název NHoS a už nemají sílu na další přejmenování a pokračování v projektu. Dodávají, že několik jednání s vedením

… více »
Ladislav Hagara | Komentářů: 7
19.1. 18:44 | Pozvánky

Koncem ledna, 29. 1. 2018 od 17 do 20 hodin se v Akademii CZ.NIC uskuteční večer s Turrisem.

Co bude na programu?… více »
Miška | Komentářů: 19
19.1. 18:33 | Pozvánky

Na tri dni sa hlavné mesto Slovenska po tretíkrát zmení na miesto s najväčšou koncentráciou profesionálnych programátorov, systémových administrátorov, učiteľov informatiky aj technologických nadšencov. Hlavným lákadlom bude konferencia PyCon SK 2018, určená záujemcom o Python, jeden z najpopulárnejších programovacích jazykov na svete.

… více »
RicCo386 | Komentářů: 1
19.1. 18:22 | Pozvánky

Letošní ročník konference Prague PostgreSQL Developer Day se koná ve dnech 14. 2. a 15. 2. 2018. Zveřejněn byl program s přednáškami a školeními. Otevřena byla také registrace na konferenci.

TomasVondra | Komentářů: 0
Jak se vás potenciálně dotkne trend odstraňování analogového audio konektoru typu 3,5mm jack z „chytrých telefonů“?
 (7%)
 (1%)
 (1%)
 (1%)
 (77%)
 (13%)
Celkem 1373 hlasů
 Komentářů: 53, poslední 17.1. 16:55
    Rozcestník

    Jaderné noviny – 6. 6. 2013: Vlastní OOM killer

    24. 6. 2013 | Luboš Doležel | Jaderné noviny | 3636×

    Aktuální verze jádra: 3.10-rc4. Citáty týdne: Arnd Bergmann, Luc Verhaegen. Na cestě ke spolehlivému rešení OOM v užvatelském prostoru.

    Obsah

    Aktuální verze jádra: 3.10-rc4

    link

    Aktuální vývojová verze jádra je 3.10-rc4 vydaná 2. června. rc4 je nicméně menší než rc3 (bomba!). Ale i tak by mohlo být ještě menší (fuuuj!). Je tam obvyklá hromada oprav v ovladačích (drm, pinctrl, scsi target, fbdev, xen), ale i v systémech souborů (cifs, xfs, drobné opravy v reiserfs a nfs)

    Stabilní aktualizace: verze 3.2.46 vyšla 31. května.

    Citáty týdne: Arnd Bergmann, Luc Verhaegen

    link

    Náš proces revidování kódu jednoznačně není dokonalý, jestliže musíme čekat, než se věci v linux-next porouchají, aby si lidé konečně všimli problémů.

    -- Arnd Bergmann

    Nedávno jsem se ze spolehlivého zdroje dozvěděl, že se managementu v ARM opravdu hodně nelíbí projekt ovladače Lima. Slušně se to dá říct tak, že nevidí na open source ovladači pro Mali žádné výhody a myslí si, že ovladač Lima už teď odhaluje příliš mnoho z vnitřností hardwaru Mali. Navíc je jejich postoj takový, že kdyby opravdu chtěli open source ovladač, tak by prostě jen zveřejnili svůj vlastní kód a bylo by.

    Opravdu?

    -- Luc Verhaegen

    Na cestě ke spolehlivému rešení OOM v užvatelském prostoru

    link

    Návštěva od jaderného zabijáka při nedostatku paměti (OOM killer) je asi tak vítaná jako nečekná návštěva z berňáku. OOM killer je zavolán, jakmile systému dochází paměť a nemůže pokračovat dál bez zabití někerých procesů; jde o sadu často se měnících heuristik, které popisují, jaké procesy se mají zabít s co největším dopadem na uvolnění paměti a co nejmenším dopadem na systém jako celek. Člověk by řekl, že něco takového nelze dělat v uživatelském prostoru, ale jsou i uživatelé, kteří se snaží dosáhnout právě tohoto a dokonce se jim to i daří. Tak či tak není řešení OOM v uživatelském prostoru tak bezpečné, jako by někteří chtěli, ale není ani moc shoda na tom, jak to zlepšit.

    Řešení OOM v uživatelském prostoru

    link

    Řešení OOM v uživatelském prostoru nejčastěji používá asi Google. Kvůli snaze vytlačit z hardwaru co nejvíce je u nich obvyklé toho na servery co nejvíce namačkat. Paměťové řídící skupiny (memcg) se tam používají k tomu, aby si uživatelé nepřekáželi. Stejně jako systém jako celek se i memcg může dostat do situace OOM (nedostatku paměti) a jádro reaguje stejným způsobem: probudí se OOM killer a začne zabíjet procesy v dané skupině. Ale protože situace OOM v řídící skupině neohrožuje stabilitu systému jako celku, tak má jádro v řešení této situace volnější ruku. OOM killer na úrovni řídící skupiny je možné úplně zakázat a navíc je to mechanismus, jak si proces může zažádat o notifikace pro případ, kdy ve skupině dojde paměť.

    Zmiňovaný notifikační mechanismus je navržen podle potřeb globálního, pravděpodobně privilegovaného procesu, který spravuje několik skupin v systému; proces může reagovat zvýšením paměťového stropu, přesunem mezi skupinami nebo selektivím zabitím procesů. Ale v případě Googlu to funguje trochu jinak: každý interní uživatel u Google má možnost (a zodpovědnost) řešit situace OOM v rámci své skupiny. Tento přístup může fungovat, ale jsou tu nástrahy, kvůli kterým je to méně spolehlivé, než by někdo mohl doufat.

    Jedním z důvodů je to, že jelikož si uživatelé řeší OOM sami, pak i OOM handler je omezen stejným paměťovým stropem. Takže pokud obsluha OOM bude potřebovat paměť navíc, bude blokována a jako ostatní procesy bude čekat na vyřešení situace; to je v podstatě deadlock celé skupiny. Dá se tomu vyhnout uzamčením stránek a tak podobně, ale i tak je docela obtížné napsat program, kde je záruka, že nedojde k alokacím paměti v jádře. K deadlocku může vést třeba i přečtení souboru v /proc (vyvolající alokaci paměti).

    Dalším problémem je to, že proces, jehož alokace vyvolala situaci OOM, může být zrovna hluboko v jádře a držet určité množství zámků. Semafor mmap_sem se zdá být obzvláště problematický, protože je často zamknutý v situacích, kdy je paměť alokována – např. při obsluze výpadků stránek. Pokud obsluha OOM potřebuje udělat něco, co by mohlo potřebovat ty samé zámky, tak se bude čekat na nesprávný proces a opět dojde k deadlocku.

    Výsledkem je tedy to, že OOM killing v uživatelském prostoru není 100% spolehlivý a snad ani nikdy nebude. Co se týče Google, pak lehce nespolehlivé očetřování OOM je přijatelné, ale deadlocky nikoliv. Proto v roce 2011 David Rientjes zaslal patch zavádějící nastavitelnou prodlevu OOM killeru. Při jejím nastavení má obsluha OOM v uživatelském prostoru určitý čas na vyřešení situace, jinak nastoupí jádro.

    Davidův patch nebyl tehdy začleněn; ostatní z něj měli pocit, že je to jen obezlička pro chyby v uživatelském prostoru, které by bylo lepší opravit u zdroje. Tehdy David řekl, že Google bude patch v případě potřeby udržovat interně, ale domníval se, že v případě rozšíření memcg by i ostatní měli zájem o stejnou funkčnost. Teď se po dvou letech snaží znovu, ale reakce nejsou o moc jiné.

    Alternativa k prodlevám

    link

    Někteří vývojáři reagovali, že mít obsluhu OOM uvnitř skupiny, kterou má řídit, je případem typu „tak takhle tedy ne“, ale jakmile David vysvětlil, že si uživatelé dělají vlastní obsluhu OOM, tak trochu ustoupili. I tak se ale drží názor, že by obsluha OOM měla být uzamčena v paměti a měla by se vyvarovat alokaci paměti. Zejména je pak pozdě číst soubory v /proc za účelem zjištění, co za procesy v systému běží, když paměť už došla. Alternativou je ale sledovat vytváření procesů v každé memcg, což s sebou nese vlastní (výkonnostní) problémy.

    Johannes Weiner přišel s konstruktivními nápady, jak stávající situaci zlepšit. Jedním z nich byl patch, jenž měl vyřešit problém procesů čekajících na vyřešení OOM a držících zámky. Tento patch dělá dvě úpravy, první z nich se týká situací, kdy je alokace paměti přímým následkem systémového volání. V tomto případě alokující proces nebude vůbec umístěn do čekací fronty OOM; místo toho volání selže s chybou ENOMEM. To řeší většinu problému, ale část zůstává: systémová volání, která předtím fungovala, mohou najednou vracet neočekávaný chybový kód. To může vést k podivnému chování a jelikož je nedostatek paměti málo častý, pak by takové chování bylo obtížné odhalit při testování.

    Druhá část patche mění cestu pro výpadek stránky. V tomto případě není možné skončit s chybou ENOMEM; to by vedlo ke smrti procesu s výpadkem. Kód je změněn tak, aby si tuto skutečnost zaznamenal a vrátil se; jakmile je call stack odrolován a všechny zámky jsou uvolněné, pak bude proces čekat na vyřešení problému OOM. S těmito změnami by většina (nebo veškeré) problémy s deadlocky měly snad zmizet.

    To ale neřeší jiný problém: pokud se obsluha OOM pokusí sama alokovat paměť, dostane se do fronty čekajících procesů a opět dojde k deadlocku. Johannes navrhl, že obsluha OOM v uživatelském prostoru by mohla formálně sdělit svou roli jádru. Pak, jakmile by proces narazil na problém OOM, by jádro mohlo ověřit, jestli to je proces pro obsluhu; pokud ano, situace by byla předána k řešení jadernému OOM killeru. Výsledek by byl stejný jako s prodlevou, jen by k tomu došlo hned, bez čekání.

    Michal Hocko má Johannesovy změny raději, ale měl dodatečný návrh: implementovat globální watchdog proces. Tento proces by obdržel upozornění na situace OOM současně jako obsluha uživatele; spustil by časovač a čekal by na vyřešení situace. Pokud by čas vypršel, pak by watchdog zabil uživatelovu obsluhu a povolil jaderné řešení OOM v dotčené memcg. Jeho názor je ten, že problém je možné řešit v uživatelském prostoru, a proto by i tam měl být vyřešen.

    Při zvolení kombinace těchto úprav je možné, že deadlocky obsluhy OOM v uživatelském prostoru budou vyřešeny. V takovém případě už snad nebude mechanismus s prodlevou od Googlu potřeba. Ani to ale zajisté nebude konec debat o obsluze OOM; tato debata je asi nekonečná.

           

    Hodnocení: 100 %

            špatnédobré        

    Nástroje: Tisk bez diskuse

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

    Komentáře

    Vložit další komentář

    24.6.2013 09:10 Honz
    Rozbalit Rozbalit vše Re: Jaderné noviny – 6. 6. 2013: Vlastní OOM killer
    Takže oni chtějí bránit vytvoření svobodného ovladače, místo aby do toho přispěli...?
    Petr Tomášek avatar 24.6.2013 11:40 Petr Tomášek | skóre: 37 | blog: Vejšplechty
    Rozbalit Rozbalit vše Re: Jaderné noviny – 6. 6. 2013: Vlastní OOM killer
    No a co byste čekal od takovéto korporace?
    Bedňa avatar 24.6.2013 23:20 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Jaderné noviny – 6. 6. 2013: Vlastní OOM killer
    Práve projektu Lima fandím a toto beriem ako úplnú arogonciu od ARMákov. Teda možno ich naštvala nedávna iniciatíva Lima & Co voči ARM aby pomohli s vydávaním slobodných ovládačov.
    KERNEL ULTRAS video channel >>>
    Bedňa avatar 24.6.2013 23:23 Bedňa | skóre: 34 | blog: Žumpa | Horňany
    Rozbalit Rozbalit vše Re: Jaderné noviny – 6. 6. 2013: Vlastní OOM killer
    Dík za patche do Reisera, teda ext4 už chodí dosť slušne pred týždňom som ale robil inštaláciu na starší komp a tam na Reisera, ešte stále nič nemá, ext sa proste vleče.
    KERNEL ULTRAS video channel >>>

    Založit nové vláknoNahoru

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.