abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 19:00 | Zajímavý projekt

    Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.

    Ladislav Hagara | Komentářů: 0
    včera 22:22 | Upozornění Ladislav Hagara | Komentářů: 4
    včera 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    včera 14:33 | Zajímavý software

    Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.

    Ladislav Hagara | Komentářů: 0
    včera 13:33 | Nová verze

    HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 2
    23.5. 23:22 | Zajímavý software

    BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.

    Ladislav Hagara | Komentářů: 0
    23.5. 16:55 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.

    Ladislav Hagara | Komentářů: 10
    23.5. 12:55 | Nová verze

    Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.5. 23:44 | Pozvánky

    V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    22.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (82%)
     (4%)
     (7%)
     (7%)
    Celkem 524 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník


    Vložit další komentář
    Luk avatar 30.9.2007 02:11 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    Program nemusí doopravdy leakovat, aby "kynul". Často programy alokují paměť a neuvolňují ji, protože by ji mohly potřebovat. Sice neznám detaily fungování heap managera v glibc, ale podle toho, jak vídám programy volat brk(), "hystereze" je hodně velká. Souvisí to jistě i s fragmentací heapu, byť se ji správce určitě snaží omezit.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    David Watzke avatar 30.9.2007 03:00 David Watzke | skóre: 74 | blog: Blog... | Praha
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    Často programy alokují paměť a neuvolňují ji, protože by ji mohly potřebovat.
    Ale co jim brání ji uvolnit a alokovat až zase bude potřeba?
    “Being honest may not get you a lot of friends but it’ll always get you the right ones” ―John Lennon
    30.9.2007 03:17 D-Evil | skóre: 25 | Praha
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    Nebrání jim nic, ale zajišťujou si tak zřejmě plynulej běh bez velký potřeby swapovaní. Myslim, že u desktopovejch aplikací to neni špatný chování. Přijde mi užitečnější mít plynule pracující aplikaci a swapovat při spouštění něčeho novýho, než naopak.
    Luk avatar 30.9.2007 03:31 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    To se swapováním vůbec nesouvisí. Aby jádro stránku neodswapovalo, musela by být zamčená v paměti. Jinak ji může odswapovat, jakmile jen stránka neaktivní. Naopak, kdyby ji aplikace uvolnila, žádné swapování není potřeba.

    Jde o něco jiného. Když má heap manager dostatek paměti, může ji přidělovat rovnou, aniž by žádal jádro. Tím spíš, že když paměť uvolní a pak ji u jádra znovu alokuje, při prvním zápisu do každé stránky dojde znovu k výpadku, jehož obsloužení chvilku trvá.

    Důležité proto je, aby měl proces vždy v zásobě nějakou paměť, která se nedávno používala, a tedy není ani čerstvá, ani odswapovaná. Ale zase se to nesmí přehánět. A jde právě o to, kde hledat ten kompromis.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    Josef Kufner avatar 30.9.2007 04:43 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    Na tohle by mohlo být fajn nějak říct jádru něco jako: "Tenhle blok dat můžeš kdykoliv zahodit, ale pokud to uděláš, nastav tento flag." Pak by stačilo mít možnost ovlivnit prioritu, aby se zahazovalo co je nejméně potřebné... a vedle malloc a free by přibylo třeba tempfree a recall (které by se prostě občas nepovedlo).
    Hello world ! Segmentation fault (core dumped)
    Luk avatar 30.9.2007 05:27 Luk | skóre: 47 | blog: Kacířské myšlenky | Kutná Hora
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    Na tohle by mohlo být fajn nějak říct jádru něco jako: "Tenhle blok dat můžeš kdykoliv zahodit, ale pokud to uděláš, nastav tento flag."
    To tam je a jmenuje se to madvise(). Když se to zavolá s MADV_WILLNEED, říká to jádru, že ta paměť bude brzy potřeba. Naopak MADV_DONTNEED říká opak. Bohužel to ale AFAIK nefunguje podle očekávání - MADV_WILLNEED jen vynutí přednačtení ze swapu nebo souboru, ale nemění prioritu stránek při pozdějším odswapovávání.
    Šifrování je absolutní nutnost a pomáhá chránit před nekalými živly
    30.9.2007 16:11 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    Takove chovani ale lze docela dobre poznat. Aplikace naroste do nejake velikosti (odpovidajici pametove nejnarocnejsi uloze, kterou zpracovavala) a pak uz neroste. Kdezto napr. kaffeine prokazatelne naroste s kazdym prehranym videem o nekolik MB :-)

    Kazdopadne se mi toto chovani ne zcela libi. Krom brzdeni hibernace to zmensuje dostupnou pamet pro diskovou cache. S implicitnim nastavenim swapiness jadro vyhazuje neaktivni stranky do swapu velmi neochotne a radsi ukrajuje z diskove cache.
    1.10.2007 10:50 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    Jojo. Tohle byl (nebo stále je?) problém glibc. malloc(100M) -> sbrk(100M). malloc(1M) -> sbrk(1M). free(100M) -> NIC (vrátit původní brk nejde, protože uvolnovaná paměť není na konci). Novější malloc knihovny vůbec brk() nepoužívají, a velké bloky spravují přes mmap/munmap(), takže tento problém nehrozí. Trvalé postupné kynutí ale asi bude opravdu způsobeno leakováním samotné aplikace.
    Táto, ty de byl? V práci, já debil.
    alblaho avatar 30.9.2007 11:01 alblaho | skóre: 17 | blog: alblog
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    Díky za výborný post!

    Pamatuju si, jak jsem v diplomce (C++) nechal memory-leak, protože bylo týden do odevzdání a já neměl čas to lovit a odvahu opravovat. Byla to desktopovka na jakousi analýzu čehosi, takže to bylo jedno.

    V podstatě už nejsem ochotný psát v jazyku bez GC, tohle klidně svěřím stroji a budu se věnovat vlastnímu problému. Leak se dá vyrobit i v Javě nebo Pythonu, ale na jiné úrovni a lépe dohledatelný a opravitelný.

    Na leaky se asi bude kašlat čím dál víc, protože díky virtuální paměti je to míň nebezpečné, než přístup do předčasně uvolněné paměti (segfault nebo přepsání jiných dat). Prostě to "jenom" žere swap a adresový prostor. Když se na 64bitovém stroji vyhradí nějakých 20 giga na swap, tak to může leakovat jaxviňa a člověk, který desktop na noc vypíná nepozná nic. Nelíbí se mi to, ale je to tak.
    30.9.2007 19:02 Deleted [8409] | skóre: 14 | blog: darkblog
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    Osobně zastávám názoru, že pokud si programátor není schopný uhlídat leaky, tak jeněco špatně, prostě C/C++ není pro každého:-D
    30.9.2007 11:52 Luboš Luňák | skóre: 19 | blog: Seli
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    valgrind --tool=memcheck --leak-check=full
    30.9.2007 16:14 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    To pisteautorum aplikaci a ne me, aj to znam :) Vsechny tyto utilitky ukazou, kde byla alokovana pamet, na kterou se nekde pozdeji ztratila reference. Od teto informace k zjistenei kde a kdy mela byt uvolnena je cesta trnita...
    30.9.2007 12:16 Lu-Tze | skóre: 15 | blog: Lu-Tzeho blog
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    A nakonec problém nejzákeřnější. Co když nejaká aplikace klade kukaččí vejce do jiné? Zní to sice divně ale v linuxu je to běžné. Aplikace s GUI např. využívají zdroje Xserveru. V tomto případě je řešením utilitka xrestop ale pro každý takový případ musí být jiná utilita, žádné obecné řešení existovat nemůže.
    No můžu tu aplikaci ukončit. A budu mít k dispozici údaje od jednotlivých procesů před a po. Snad by z toho šlo taky něco vidět.
    30.9.2007 16:17 miho | skóre: 24 | blog: Mihovy_sochory | Orlová
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    U tech Xek by se to dalo, tam vicemene funguje, ze kdyz kukacka chcipne tak Xka vyhodi nahnivajici pukavce z hnizda. Obecne to ale rici nelze.
    30.9.2007 12:41 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    Ano, memory leak je problém. Já osobně se bráním memory leakům z největší části tak, že už samotná architektura programu jim předchází.

    Jinak neexistují jen memory leaky. Vzhledem k tomu, že mnoho programovacích jazyků s garbage collectorem sice uvolňuje paměť, ale má problémy s automatickým uvolňováním jiných zdrojů - třeba handlů systému, lze i tam se dostat do zajímavých situací. Osobně jsem viděl program v Javě, kde programátor spoléhal na to, že finalize() uvolní zdroje systému, ale zapomněl na to, že to může JVM udělal klidně až za řadu hodin. A mezitím se mu v nepoužívaných blocích paměti nashromáždilo tolik neuvolněných grafických objektů čekajících na finalize(), že javovský proces překročil max. počet grafických objektů a přestal zobrazovat. Hledání této chyby bylo daleko horší a zdlouhavější, než hledání jakéhokoli memory leaku, co jsem kdy zažil. Chyba se projevovala dost náhodně.

    Takže nic a žádná automatika Vás nezachrání před velmi obtížně hledatelnými chybami.
    Heron avatar 30.9.2007 12:53 Heron | skóre: 53 | blog: root_at_heron | Olomouc
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    finalize se nemusí zavolat vůbec. Na to by žádný programátor spoléhat neměl a měl by cizí zdroje zavírat hned jak je přestane používat.
    30.9.2007 13:19 Miloslav Ponkrác | blog: miloslavponkrac
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    Ano ano, nicméně když jsem tuto chybu hledal v cizím javovském programu - bylo pro mě velké poučení, že záludná chyba se dá vyrobit v podstatě všude a všelijak.

    Koneckonců kromě memory leaků a neuvolněných zdrojů systému je možné také týdny nespat hledáním proč ve Vašem složitém a efektivním algoritmu to dává špatný výsledek - a hledat zasunutou logickou chybu. A máte ještě asi tisíc dalších způsobů jak se budit hrůzou ze spaní jako programátor.

    Nevím, proč má memory leak tak špatnou pověst, když se v podstatě nakonec dá vždycky v podstatě nechanicky nalézt - dříve či později, dokonce na to existují i vynikající nástroje. Ale taková dobře hezky zasunutá logická chyba v programu projevující se naprosto náhodně a kde nevíte odkud hledat - to je teprve to pravé peklo programátora.
    1.10.2007 11:10 zde | skóre: 9 | blog: Linuch | Brno
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    Nám se stalo přesně to samé. Za fůru $$$ se koupilo železo a aplikace, která se spravuje přes nějakého daemona, napsaného v Javě. Vždy se mu předhodí pathname, který on otevře, schroustá a updatuje podle toho in-memory databázi. No a daemon samozřejmě leakoval file descriptory, a do dvou dnů ryla ta "bezpečná" Java držkou v prachu. Fakt je že podle tracebacků (zvrhle logovaných v XML, samozřejmě) to asi za necelé 3 týdny opravili.
    Táto, ty de byl? V práci, já debil.
    1.10.2007 19:24 foo
    Rozbalit Rozbalit vše Re: Jak vám kyne linux?
    xterm a plain vi mi nekynou, takze jsem v pohode... ;)
    22.1.2008 19:04 Miloš
    Rozbalit Rozbalit vše Ostrich algorithm
    Rád bych upozornil na jednu nepřesnost překladu, jinak se jedná o pěkný článek

    Ostrich algorithm. Ve wikipeii tam píšou něco o strkání hlavy do písku, proto si myslím že se zde má slovo "ostrich" normálně přeložit na "pštros".

    Proto by se měl odkaz jmenovat spíš "pštrosí algoritmus"

    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.