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í
×
eParkomat, startup z ČR, postoupil mezi finalisty evropského akcelerátoru ChallengeUp!
Robot na pivo mu otevřel dveře k opravdovému byznysu
Internet věcí: Propojený svět? Už se to blíží...
dnes 17:02 | Pozvánky

Přijďte si popovídat o open source obecně a openSUSE konkrétně s dalšími uživateli a vývojáři. Oslava nového vydání openSUSE Leap se uskuteční 16. prosince od 17:00 v nových prostorách firmy SUSE v Praze. K dispozici bude nějaké občerstvení a DVD pro ty, kdo je sbírají nebo ještě mají mechaniku. Po párty v kanceláři se bude pokračovat v některé z hospod v okolí.

Miška | Komentářů: 6
dnes 14:55 | Zajímavý software

Byla vydána verze Alpha 1.0 otevřeného operačního systému pro chytré hodinky AsteroidOS. Podporovány jsou hodinky LG G Watch, LG G Watch Urbane, Asus ZenWatch 2 a Sony Smartwatch 3. Ukázka ovládání hodinek na YouTube. Jaroslav Řezník přednášel o AsteroidOS na chytrých hodinkách (videozáznam) na letošní konferenci OpenAlt.

Ladislav Hagara | Komentářů: 0
dnes 13:30 | Zajímavý software

Byly uvolněny zdrojové kódy známé rogue-like hry DoomRL. Počátky hry jsou v roce 2002. Je napsána ve FreePascalu a zdrojový kód je nyní k dispozici na GitHubu pod licencí GNU GPL 2.0. Autor pracuje na nové hře Jupiter Hell, která je moderním nástupcem DoomRL a na jejíž vývoj shání peníze prostřednictvím Kickstarteru.

Blaazen | Komentářů: 0
dnes 13:15 | Pozvánky

Přijďte s námi oslavit vydání Fedory 25. Na programu budou přednášky o novinkách, diskuse, neřízený networking atd. Release Party se bude konat 16. prosince v prostorách společnosti Etnetera. Na party budou volně k dispozici také propagační materiály, nová DVD s Fedorou 25 a samozřejmě občerstvení. Přednášky budou probíhat v češtině. Pro více informací se můžete podívat na web MojeFedora.cz. Jen připomínám, že tentokrát jsme zavedli

… více »
frantisekz | Komentářů: 0
včera 16:38 | Komunita

Byly zveřejněny videozáznamy přednášek a workshopů z letošní konference OpenAlt konané 5. a 6. listopadu v Brně. K videozáznamům lze přistupovat ze stránky na SuperLectures nebo přes program konference, detaily o vybrané přednášce nebo workshopu a dále kliknutím na ikonku filmového pásu. Celkově bylo zpracováno 65 hodin z 89 přednášek a workshopů.

Ladislav Hagara | Komentářů: 0
včera 11:30 | Komunita

Bylo oznámeno, že bude proveden bezpečnostní audit zdrojových kódů open source softwaru pro implementaci virtuálních privátních sítí OpenVPN. Audit provede Matthew D. Green (blog), uznávaný kryptolog a profesor na Univerzitě Johnse Hopkinse. Auditována bude verze 2.4 (aktuálně RC 1, stabilní verze je 2.3.14). Audit bude financován společností Private Internet Access [reddit].

Ladislav Hagara | Komentářů: 4
včera 06:00 | Komunita

Na YouTube byl publikován Blender Institute Reel 2016, ani ne dvouminutový sestřih z filmů, které vznikly za posledních 10 let díky Blender Institutu. V institutu aktuálně pracují na novém filmu Agent 327. Dění kolem filmu lze sledovat na Blender Cloudu. Videoukázka Agenta 327 z června letošního roku na YouTube.

Ladislav Hagara | Komentářů: 0
včera 01:02 | Zajímavý článek

Minulý týden byly vydány verze 1.2.3 a 1.1.7 webového poštovního klienta Roundcube. V oznámení o vydání bylo zmíněno řešení bezpečnostního problému nalezeného společností RIPS a souvisejícího s voláním funkce mail() v PHP. Tento týden byly zveřejněny podrobnosti. Útočník mohl pomocí speciálně připraveného emailu spustit na serveru libovolný příkaz. Stejně, jak je popsáno v článku Exploit PHP’s mail() to get remote code execution z roku 2014.

Ladislav Hagara | Komentářů: 1
8.12. 16:00 | Nová verze

Byla vydána verze 0.98 svobodného nelineárního video editoru Pitivi. Z novinek lze zmínit například přizpůsobitelné klávesové zkratky. Videoukázka práce s nejnovější verzí Pitivi na YouTube.

Ladislav Hagara | Komentářů: 1
8.12. 15:00 | Zajímavý software

Stop motion je technika animace, při níž je reálný objekt mezi jednotlivými snímky ručně upravován a posouván o malé úseky, tak aby po spojení vyvolala animace dojem spojitosti. Jaký software lze pro stop motion použít na Linuxu? Článek na OMG! Ubuntu! představuje Heron Animation. Ten bohužel podporuje pouze webové kamery. Podpora digitálních zrcadlovek je začleněna například v programu qStopMotion.

Ladislav Hagara | Komentářů: 5
Kolik máte dat ve svém domovském adresáři na svém primárním osobním počítači?
 (32%)
 (23%)
 (29%)
 (7%)
 (5%)
 (3%)
Celkem 809 hlasů
 Komentářů: 50, poslední 29.11. 15:50
Rozcestník
Reklama

Dotaz: OOM killer: zamrznutí

29.9.2011 22:15 Jiří J. | skóre: 34 | blog: Poutník | Brno
OOM killer: zamrznutí
Přečteno: 273×

Zdravím,
celkem nedávno mi OOM killer připomněl takovou zajímavost, která mi už delší dobu vrtá hlavou. Vyskytlo se to tedy na Debianím 2.6.32.Y kernelu, ale mám pocit, že jsem to zažil i po přepisu OOM (2.6.36 myslím).

Ve zkratce jde o to, že pokaždé, když OOM killer něco zabije, tak systém "zamrzne" na pár minut - neodpovídá na pingy, ssh, nic. Zamrznutí se prodlouží s přidáním swapu, ale i bez něj to je schopno neodpovídat 5-10 minut. Ptám se tedy - co sakra tak dlouho kernel na stroji s 8GB ram dělá? Zrušit reference zabitého programu přece tak dlouho trvat nemůže, swap není, takže diskem to také být nemůže. Nejzáhadnější je to, že systém po celou dobu "svítí" LED diodou HDD. Přitom - ještě jednou - swap na disku není!

Našel jsem vícero lidí se stejným problémem, bez odpovědi.

Tento dotaz píši čistě ze zvědavosti - pokud někdo ví, proč to kernelu tak trvá, je vítán i se svou odpovědí.

Díky.

 

PS: Může to být tím, že OOM prostě není těch 5-10 minut vůbec zavolán a nakopne ho až, já nevím, soft lockup detekce?

Víra je firma si myslela, že něco je pravdivé. LMAO -- “zlehčovat mého osla”

Řešení dotazu:


Odpovědi

29.9.2011 23:42 ewew | skóre: 36 | blog: ewewov_blog
Rozbalit Rozbalit vše Re: OOM killer: zamrznutí
OOM-killer sa riadi tzv. oom-score. Je to súbor /proc/(PID)/oom_score. Pravidla pre pridanie + alebo - k hodnote v oom_score sú uvedené v dokumentácii. Daná dokumentácia je prístupná v repozitári Debianu. Názov balíčka je linux-doc-x.x.xx Cesta k dokumentácii oom killera je /usr/share/doc/linux-doc-x.x.xx/Documentation/filesystem/proc.txt.gz

Ďalej skontroluj cron a anacron. Pokiaľ viem tak v defaultných cron a anacron tabuľkách bolo zadefinovaná pravidelná rotácia logovacích súborov. Ak sú tie súbory veľké niekoľko GB tak kľudne to môže vyťažiť CPU na max, že ani neodpovedá.

Môžeš skúsiť pam modul pam_limit.so, tento modul sa veľmi ľahko nastavuje a má dostupnú dokumentáciu. Iná možnosť je pam modul pam_cgroups.so tento modul nie je v klasickom balíku pam modulov. Výhoda tohto modulu je, že dokáže pridelovať jednotlivé procesy. Dokumentácia k cgroups.

Program na zistenie vyťaženia stroja je atop. Zobrazuje viac detailov ako klasický top.
sec.linuxpseudosec.sk
30.9.2011 11:30 Semo | skóre: 44 | blog: Semo
Rozbalit Rozbalit vše Re: OOM killer: zamrznutí
mv log log.20110929 netrva dlhsie ako zlomok sekundy bez ohladu na velkost suboru (pokial je to v ramci jedneho fs a zatial som to videl vzdy v spolocnom adresari, takze ano) pretoze vobec nesaha na data suboru. A ak aj nahodou nie, tak system, ktory kvoli kopirovaniu suboru nie je schopny ani pingat ma niekde tazky problem a nie je to v crone.
If you hold a Unix shell up to your ear, you can you hear the C.
30.9.2011 11:49 ewew | skóre: 36 | blog: ewewov_blog
Rozbalit Rozbalit vše Re: OOM killer: zamrznutí
Mal som na mysli, keď logrotate balí súbory pomocou gzip.
sec.linuxpseudosec.sk
30.9.2011 00:06 Lukáš Džunko | skóre: 39 | blog: Jooky | Bratislava
Rozbalit Rozbalit vše Re: OOM killer: zamrznutí
Treba sa na to pozerat trosku komplexnejsie. V provom rade OOM Kiler je uz posledne stadium a velmi zle. Spravne navrhnuty produkcny system by sa k tomu nemal nikdy dostat. Jednak nedostatok pamate je zly "sizing", alebo nedostatocne otestovana app. Dalsia vec je, ze nie je garancia co bude zabite. Zo skusenosti mozem povedat, ze takmer vzdy to schyta aj ina app. Ak je to prave DB s velkym, ale staticky alokovanym priestorom, tak potom to uz je jedno ... server je zrely na reboot a kontrolu integrity ... ale k veci

Ako som povedal OOM Kiler je az posledne stadium. Ked si zoberieme ako priklad vas server s 8GB ram, tak celkom dost miesta urcite ostane na buffer a cache. Pocas behu systemu sa tam dostane dost vela dat a za beznych okolnosti v cache moze byt aj niekolko 100MB stranok, ktore si vyzaduju zapis na disk.

V momente, ked sa na takom systeme "kusne" applikacia vo "for (::) malloc();", tak zacina prve stadium. Vsetky data, ktore nie su "aktualne" potrebne sa zacnu vytlacat z pamate. Kernel zacne redukovat cache. Algoritmus na spravu cache najprv zacne vyhadzovat najmenej potrebne stranky a s rastucou potrebou pamate zacne agresivnejsie "upratovat". V istom momente spotrebovava znacnu cast cpu vykonu a snazi sa zapisat "dirty" stranky na disk. Sucastne s "upratovanim" sa beziace applikacie dozaduju svojich dat a "natahuju" si data s5 do cache v pamati. Cim je menej volnej pamate, tym je pravdepodobnejsie, ze kod/data nie je v pamati a je ho potrebne nacitat z disku. Priebezne ako zacina byt zaplnenie pamate kriticke, zacinaju "zlyhavat" algoritmy na predcitanie a spravu pamate. Nie pre problem v navrhu, ale problem s nedostatkom volnej pamate. Alokovanu cast pamate "programom" nie je mozne uvolnit a miesto na cache zufalo klesa. V tomto momente uz neostava nic ine ako disku zurivo blikat a nacitavat kazdy kusok kodu pre "beziace" aplikacie z disku. Toto je presne moment, kedy prestava system odpovedat v rozumnom case a disk sa ide zblaznit, ale stale este neprichadza na scenu OOM Kiler.

V momente, ked uz nie je co uvolnit (ziadne cache a buffer v pamati) prichadza OOM Kiler. Podla istych internych pravidiel vyberie jeden, alebo niekolko procesov. Tym da riadne "po hlave" a system uvolni ich pamat. Uvolnenie pamate je velmi rychle (pre istotu si mozte skontrolovat logy kernelu), ale kedze system uz pred nastupom OOM Kileru neodpovedal, tak tazko urcit moment kedy "upratal". Dalsia vec je, ze s prazdnou cache system musi znova natahat mnozstvo "stranok" z disku aby mohol pokracovat s vykonavanim kodu aplikacii. Ak mate moznost sledovat kernel logy napr. cez seriovu linku a zaujima vas to, tak to porucujem skusit :) ... tak isto pohladat stranky na webe spominajuce zazracne anglicke slovicko "Thrashing".

Ak by sme k tomu vsetkemu, co som hore napisal pridali este aj swap. Tak pocas "upratovania" sa system snazi dostat co sa da do swapu a tym sa cely proces spomali.

Cital som ten bug report, co ste pridali ako linku. Osobne si myslim, ze by sa mal zavriet ako "won't fix". Uz z principu je zle ak dojde pamat a su na to ine prostriedky ako predchadzat takemu stavu, alebo ho riesit. OOM Kiler je az posledna zachrana, no maximalne tak na "Desktop" stroje. Na servri je lepsie spravit dump pamate a analyzovat co sa stalo, ako bezhlavo zabijat co tam bezi. Ked zakuliluje spolu s povodcom problemu aj backend nejakej sluzby, alebo databazy, tak potom je to uz aj tak jedno. System sa sice zotavil, ale sluzby nie.

pre zaujimavost doporucujem pozriet aj
# sysctl -a | grep -F vm.
# sysctl -a | grep -F oom
Cela tato tema, je na viac ako len odpoved v diskusii. Ak je este nieco stale nejasne, tak v priebehu dalsich dni sa isto budem pozerat sem do diskusie :o) Staci sa spytat ...
30.9.2011 01:19 Jiří J. | skóre: 34 | blog: Poutník | Brno
Rozbalit Rozbalit vše Re: OOM killer: zamrznutí

Kolega nahoře asi moc nepochopil, o co mi šlo, nepotřebuji rady "co" a "jak" nastavit, aby nedošlo k OOM, jen mě zaujala samotná situace zamrznutí kernelovských vláken (icmp echo reply) situací v userspace.

Díky za analýzu, vím, co je to trashing, jak funguje (přibližně) stránkování paměti, co jsou to výpadky stránek, jak a proč k nim může dojít, ale měl jsem za to, že kód všech programů je vždy udržován v paměti, pokud jej není kam odložit (tzn. není zapnutý swap).

To opravdu může nastat situace, kdy kernel začne z nedostatku mazat z aktivní paměti "textové" segmenty (v případě ELF binárek) jednotlivých (v ten moment asi spících) procesů? To se mi nezdá - tyto části zabírají většinou pár KB, u větších programů výjimečně i jednotky MB, ale nic víc. A nenapadá mě nic dalšího, co by šlo načíst z disku bez použití swapu. Ale něco na tom pravdy bude, jinak by HDD LED nesvítila.

I kdyby to byla pravda, kernel by v žádném případě neměl takto kompletně zamrznout na takovou dobu, OOM killer měl zasáhnout v řádech sekund, ne minut. Nezávisle na tom, že "k OOM stejně v reálném nasazení jen tak nedojde", je to prostě chyba designu. Jasně, systém se může zotavit sám i bez zabití nějakého procesu, ale pokud to nenastane do pár sekund, je lepší zavolat OOM killera, aby alespoň ostatní služby (ty, které mají např. oom_adj na -17) mohly běžet.

Víra je firma si myslela, že něco je pravdivé. LMAO -- “zlehčovat mého osla”
30.9.2011 02:43 Sten
Rozbalit Rozbalit vše Re: OOM killer: zamrznutí
Načíst z disku bez swapu lze úplně cokoliv, co bylo původně načteno z disku a od té doby se nezměnilo. Včetně kódu nebo konstant sdílených knihoven nebo jaderných modulů. Do swapu se ukládají pouze ty stránky, které se změnily, protože není jiný zdroj, odkud je načíst.
30.9.2011 04:02 Jiří J. | skóre: 34 | blog: Poutník | Brno
Rozbalit Rozbalit vše Re: OOM killer: zamrznutí

To je pravda, nebo minimálně to dává smysl. Díky za upřesnění.

Víra je firma si myslela, že něco je pravdivé. LMAO -- “zlehčovat mého osla”
30.9.2011 02:39 Sten
Rozbalit Rozbalit vše Re: OOM killer: zamrznutí
Aby se OOM killer spustil, musí dojít paměť. Než ale jádro ohlásí, že paměť došla, vyzkouší vše možné, aby nějakou volnou paměť našlo. To nejčastěji znamená, že vyhází nejprve veškerou cache (přístup na disk se razantně zpomalí), potom se pokusí všechno ostatní odložit do swapu, dokud i tam nedojde místo (všechno se ještě víc zpomalí), a nakonec vyhází i kód aplikací a nezamčené části jádra (stále jsou na disku, takže je lze dotáhnout, až budou znovu potřeba, což je ale většinou potřeba hned, takže se zase všechno strašně zpomalí). Teprve potom je jasné, že paměť prostě není, a OOM killer se spustí. Jenže v tu dobu už je všechno vyhozené mimo paměť, tak se to musí znovu načíst, než se systém opět rozjede.
30.9.2011 12:21 lertimir | skóre: 58 | blog: Par_slov
Rozbalit Rozbalit vše Re: OOM killer: zamrznutí
Hezky vysvětleno. Takže když zareaguje OOM killer je vše, co může být odstraněno z paměti a načteno z disku už pryč s paměti a systém si pořád a pořád dotahuje z disku kód, který má provádět, protože v paměti už na něj místo nemá. Naštěstí neprovozuji žádný systém v tomto režimu. :-)

Založit nové vláknoNahoru

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

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