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í
×

    včera 14:33 | Nová verze

    Vývojáři mobilní Datovky prosí o pomoc s testováním beta verze mobilní Datovky s novým grafickým rozhraním, podporou pro tmavý režim a podporou pro VoDZ. Aplikace je zatím dostupná pouze pro zařízení Android a je umístěna v samostatném instalačním kanále Datovka Beta. Tento kanál slouží pro testovaní nové funkcionality a grafického uživatelského rozhraní. Datovka Beta se instaluje jako samostatná aplikace s vlastními daty, která

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Zajímavý software

    Harlequin byl vydán ve verzi 1.0.0. Jedná se o TUI (Text User Interface) IDE (Integrated Development Environment) k systému pro správu SQL OLAP databází DuckDB.

    Ladislav Hagara | Komentářů: 0
    včera 12:55 | IT novinky

    Po roce a půl od představení DALL·E 2 představila společnost OpenAI novou verzi DALL·E 3 svého AI systému pro generování "realisticky vypadajících obrázků nebo uměleckých děl" na základě popisu v přirozeném jazyce, viz příklad "kosmonaut na koni fotorealisticky". Jednou z novinek je integrace s ChatGPT.

    Ladislav Hagara | Komentářů: 0
    včera 09:00 | Nová verze

    Nová čísla časopisů od nakladatelství Raspberry Pi: MagPi 133 (pdf) a HackSpace 70 (pdf).

    Ladislav Hagara | Komentářů: 0
    20.9. 23:55 | Nová verze

    Po půl roce vývoje od vydání verze 44 bylo vydáno GNOME 45 s kódovým názvem Rīga. Přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře. Krátké představení na YouTube. Jednou z nejviditelnějších změn je odstranění tlačítka Činnosti (Activities) v levém horním rohu. Nově je tam indikátor ploch. Výchozím prohlížečem obrázků je nově Loupe, nahradil Eye of GNOME (eog). Novou aplikací pro práci s webovou kamerou je Snapshot, nahradil Cheese. Rozšíření GNOME Shellu fungující v předchozích verzích nejsou s verzí 45 kompatibilní.

    Ladislav Hagara | Komentářů: 25
    20.9. 17:55 | Komunita

    Linux Foundation představila a zaštítila svobodný a otevřený fork Terraformu s názvem OpenTofu. Ten vznikl pod původním názvem OpenTF jako reakce na přelicencování Terraformu na BSL (Business Source License) společností HashiCorp.

    Ladislav Hagara | Komentářů: 2
    20.9. 11:22 | IT novinky

    Google oznámil (en), že konverzační AI Bard (Wikipedie) může nyní komunikovat s aplikacemi a službami Google: "Díky nejnovějšímu rozšíření služby může Bard najít a zobrazit relevantní informace z nástrojů společnosti Google, které používáte každý den, jako je například Gmail, Dokumenty, Disk, Mapy, YouTube a Letenky Google, a to i když jsou potřebné informace v různých aplikacích a službách."

    Ladislav Hagara | Komentářů: 0
    20.9. 08:00 | Zajímavý software

    Apache Pinot (GitHub, Wikipedie) dospěl do verze 1.0. Jedná se o realtimeový distribuovaný OLAP datastore navržený tak, aby na OLAP dotazy odpovídal s nízkou latencí.

    Ladislav Hagara | Komentářů: 0
    19.9. 19:44 | Nová verze

    Byla vydána Java 21 / JDK 21. Nových vlastností (JEP - JDK Enhancement Proposal) je 15. Jedná se o LTS verzi. Nová Java / JDK vychází každých 6 měsíců.

    Ladislav Hagara | Komentářů: 19
    19.9. 16:55 | Nová verze

    Byla vydána betaverze Fedora Linuxu 39, tj. poslední zastávka před vydáním finální verze, která je naplánována na úterý 17. října. Nový Fedora Linux přinese GNOME 45, LibreOffice 7.6, GCC 13.2, …

    Ladislav Hagara | Komentářů: 11
    Knihy s linuxovou tematikou
     (20%)
     (16%)
     (51%)
     (26%)
    Celkem 269 hlasů
     Komentářů: 11, poslední 17.9. 19:19
    Rozcestník

    Dotaz: OOM killer: zamrznutí

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

    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?


    Řešení dotazu:


    Odpovědi

    29.9.2011 23:42 ewew | skóre: 40 | 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.
    Root v linuxe : "Root povedal, linux vykona."
    30.9.2011 11:30 Semo | skóre: 45 | 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: 40 | blog: ewewov_blog
    Rozbalit Rozbalit vše Re: OOM killer: zamrznutí
    Mal som na mysli, keď logrotate balí súbory pomocou gzip.
    Root v linuxe : "Root povedal, linux vykona."
    30.9.2011 00:06 Jooky (inactive) | 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.

    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í.

    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: 64 | 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.