Nizozemská vláda ve snaze šetřit a zvyšovat efektivitu s využitím umělé inteligence (AI) hodlá zrušit asi 25.000 pracovních míst ve státní správě. Cílem je postupně dosáhnout ročních úspor až 3,5 miliardy eur (85,2 miliardy Kč). Na konci loňského roku ve státní správě pracovalo rekordních 160.000 lidí. „Nemůžeme pokračovat v tom, co jsme dělali dosud,“ uvedl státní tajemník pro efektivní fungování vlády Eric van den Burg. „Proto
… více »Příspěvek na blogu PRUSA 3D představuje fotoaparát CAIM1 (Counter Artificial Intelligence Machine 1). Uměle vytvořený obsah je každým dnem těžší rozeznat od skutečných záběrů či fotografií, což podrývá důvěryhodnost žurnalistiky, archivních materiálů i každodenní tvorby obsahu. Fotoaparát CAIM1 byl vyvinut právě k tomu, aby ověřoval původ fotografií a videí přímo během jejich pořizování. Uvnitř fotoaparátu se nachází hardwarová Web3 peněženka se zabezpečovacím čipem Tropic Square TROPIC01.
Jonathan Thomas oznámil vydání nové verze 4.1 video editoru OpenShot (Wikipedie). Zdrojové kódy OpenShotu jsou k dispozici na GitHubu. Ke stažení je i balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo na spouštění a spustit.
Při běžné migraci virtuálního stroje mezi hypervizory se jeho MAC adresa přesune na jiný leaf switch. EVPN tuto změnu distribuuje pomocí BGP Type-2 route a MAC mobility sequence number. Problém nastává, pokud útočník podvrhne zdrojovou MAC adresu jiného zařízení. Leaf může změnu interpretovat jako legitimní přesun MAC a rozšířit ji přes BGP do celé fabric. Výsledkem může být přesměrování provozu určeného původnímu zařízení. Autor článku rozebírá možnosti detekce pomocí sledování MAC moves, BGP route reflektorů a kontroly na přístupové vrstvě.
Vývojáři desktopového prostředí Enlightenment (Wikipedie) a souvisejících knihoven Enlightenment Foundation Libraries (EFL) vydali nové verze. Enlightenment byl vydán ve verzi 0.28.0 a Enlightenment Foundation Libraries ve verzi 1.29.
Cloudflare zjistil, že některé odpovědi modelu GLM-5.3 obsahovaly části dat z předchozích požadavků jiných zákazníků. Příčinou byla kombinace chybné konfigurace a chyby v inference enginu SGLang. Model podporoval kontextové okno 1 048 576 tokenů, ale GPU KV cache pool měl kapacitu pouze 681 280 tokenů. Při překročení kapacity docházelo k nesprávnému zpracování odmítnutého požadavku. Decode část systému následně pracovala se starými
… více »Vývojáři Knot Resolver vysvětlují, jak změnili rozhodování o tom, které DNS záznamy ponechat v cache a které odstranit. Článek obsahuje skutečná měření: devět hodin DNS provozu při 2 000 QPS, srovnání cache o velikosti 25 MB a 40 GB a také porovnání s BIND 9, kromě algoritmů obsahuje konkrétní doporučení pro konfiguraci a diagnostiku.
Největší kryptoměnová burza světa Binance se stala terčem útoku, při kterém podvodníci odcizili během několika minut kryptoměny v hodnotě přibližně 6,3 miliardy dolarů. Jedná se o největší kryptoměnovou krádež v historii, přibližně čtyřikrát větší než loňský útok na burzu Bybit. Binance se podařilo ve spolupráci s partnery zmrazit aspoň aktiva v hodnotě zhruba 3 miliard dolarů a slíbila, že veškeré ztráty pokryje z vlastních prostředků.
Zranitelnost CVE-2026-98432 s CVSS 9.8 odhalila AI od společnosti Anthropic. Jedná se o kritickou chybu v implementaci MPTCP (multipath TCP). Debian vydal patche 16.10. a 22.10., ale např. Ubuntu je zatím bez opravy. Více informací na The Hacker News.
Na Slovensku vznikla úplne nová rally hra, ktorá je zadarmo a funguje vo Windowse, Linuxe či na Macu. Greenie Rally má viac ako 50 tratí a vozidiel, šampionáty či turnaje. Má retro feeling a imituje automobilové hry z prelomu tisícročí. Vyskúšate prejsť všetky mapy na Škode 130RS?
Předně bych se chtěl omluvit za trochu bulvární nadpis. Řeč nebude ani tak o kynutí jádra nýbrž o postupném bobtnání samotných aplikací.
Kde je jádro pudla?
Víte co popřát programátorovi píšicímu v jazyce bez garbage collectoru na dobrou noc aby měl zaručeně noční můru? Ať se mu zdá o memory leaku. Je to jeden z problémů, který se v rozsáhlém projektu velmi obtížně ladí. A to i přes použití nástrojů jako efence. Podle průzkumu v mém okolí je to nejčastější pčípad aplikace Ostrichova algoritmu. Zřejmě tomu bude podobně i jinde.
Trocha teorie
Opravdu jen trošku, ikdyž toto téma by si zasloužilo několik článků. Snad někdy příště. Předně je třeba uvědomit si, že všechny běřně používané utility čerpající z /proc/PID/statm a status, tedy v podstatě vše od ps,top až po gtop a ksysguard ukazují nepřesné až irelevantní údaje. Slíbil jsem, že do podrobnosti se pouštět nebudu takže jen zkratkovitě.
Hodnota VIRT z top nebo VSZ z ps nevypovída v praxi vůbec o ničem. Jedná se pouze o velikost virtuálního adresního prostoru namapovaného daným procesem. Stačí, že aplikace provede mmap velkého souboru, nebo naalokuje velkou oblast paměti, na kterou po dobu běhu programu nešáhne (vzhledem k tomu, jak linux přiděluje paměť je to "legální") a hodnota ihned vyletí do astrálních rozměrů.
RSS má o něco větší vypovídací hodnotu. Hlavním problémem je to, že se zde nezapočítává odsvapovaná paměť a naopak sdílená paměť se započítává do všech procesů. První problém lze snadno vyřešit: swapoff -a. Druhý je mnohem náročnější a současně ho nejde zanedbat. Takto nasdílená paměť nezřídka tvoří podstatnou část RSS zejména gnome a KDE aplikací. Nemůžeme ani odečíst od RSS hodnotu SHARED. tím bychom se dopustili opačné chyby. Aplikace používající jako jediná velkou knihovnu (které se stejně objeví v SHARED) by tímto byla "ošizená" o tuto paměť. Je potřeba provést analýzu namapované pamšti blok po bloku na základě /proc/PID/smaps, jak to delá např prelovský skript smem. Ještě lepsí je provést per-page analýzu, což dělá exmap s pomocí modulu zavedeného do jádra. Následně můžeme sdílenou pamět spravedlivým dílem rozpořítat mezi všechny aplikace, které ji používají.
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. Pojďme dále. Co když aplikace používá pro rendering textu X a přinutí ho tím nahrát příslušný font a vyrenderovat příslušné řezy do paměti. Téměř nezměřitelná věc. Co když aplikace používá jako datový backend třeba mysql (mythtv, amarok takto umí pracovat, ...). Má se v této situaci připočítat zdroje obsazene přes mysql k tomu programu? Rozpočítat mezi programy? Co když kvůli jednomu mysql naalokuje více paměti než kvůli druhému. To se prakticky nedá změřit.
Doufám, že jsem alespoň nastínil problematiku, a až příště spustíte top nebo htop kvůli zjištění která aplikace to žere tolik paměti, budete vědět na co si dát pozor. Abych vás uklidnil- aplikace čerpající z /proc/meminfo a informující o volné paměti tedy free, top a nespočetná grafická udělátka jako gkrellm taktéž neukazují zcela korektní hodnoty... Ale to je zase na jiný článek.
Největší bumbrlíčci
Vyzbrojení jemným nástinem teorie se pojďme podívat na to, jak může vypadat obsazení paměti na desktopu. Jako pokusný králík poslouží můj počítač s 4GiB paměti.free
total used free shared buffers cached
Mem: 4050512 4023220 27292 0 6588 619052
-/+ buffers/cache: 3397580 652932
Swap: 0 0 0
swap je vypnutý abychom mohli čerpat ze sloupce RSS orientační hodnoty. Podíváme se ještě na výstup rfree abychom zíkali lepší přehled kolik zabírá slab.
rfree
total used free slab buffers cached
Mem: 4050512 4010180 40332 53968 4264 609656
-/+ buffers/cache: 3342292 677244 30976
Swap: 0 0 0
O utilitce rfree jesem psal v jiném blogpostu.
3.3GB "natvrdo" obsazené paměti, pouhých 600MB zůstalo na diskovou cache. Co tak nenažraného mam spuštěno ptáte se?
ps -eo pid,rss,comm,start_time --sort=-rss PID RSS COMMAND START 13290 989792 kaffeine Sep23 3028 945768 opera Sep20 31172 536832 beryl Sep12 5046 232972 emerald Sep06
Při takových velikostech nemusíme řešit sdílenou paměť. kaffeine 0.8.5 po 6 dnech používáni nabobtnalo na reálnou velikost téměř jednoho gigabajtu. Je schované v trayi, nic aktuálně nepřehrává a playlist je prázdný.
Opera 9.23 se statickou qt narostla za 9 dnů na 945MiB přičemž paměťová cache je nastavená na 64MB a otevřených je 9 tabů. Jedinym pluginem je flash player, který je ovšem out-of-process v operapluginwrapper.
Beryl, 17 dnů, 536MiB. Relativně experimentální věc. Kyne rychlostí 22MB/den. Dekorátor emerald taktéž. Kyne rychlostí 8MB/den.
Výše zmíněné programy (nebo jimi používané knihovny) leakují paměť. Postupně prostě rostou nedbaje na mnořství volné paměti. Není to tedy žádná cache. Navíc obrovské části této paměti podle smaps nejsou využívány. Po hibernaci zustanou ve svapu po věky věkoucí dokud aplikace nespadne.
ani Xorg 7.2 neudří moč
PID RSS COMMAND START 4850 317320 X Sep06
xrestop - Display: localhost:0
Monitoring 35 clients. XErrors: 0
Pixmaps: 75050K total, Other: 1382K total, All: 76433K total
res-base Wins GCs Fnts Pxms Misc Pxm mem Other Total PID Identifier
2000000 2253 43 1 125 206 19908K 59K 19968K 5046 emerald
1200000 71 52 5 19685 12342 11358K 297K 11655K 4955 KDE Desktop
0600000 226 32 12 1255 510 7204K 30K 7234K 3028 Opera
1000000 26 1 1 18 9871 6653K 232K 6886K ? beryl
3000000 158 87 9 14065 9160 5739K 229K 5968K 5532 sim
3400000 488 120 5 1456 972 4512K 42K 4554K 10729 Amarok
2e00000 217 31 1 71 75 4309K 8K 4317K 7163 NastavenĂ programu
4c00000 317 91 5 11043 6928 3002K 176K 3179K 13290 Kaffeine Player
...
Zde vidíme kukaččí vejce s celkovou velikostí 75MB. Na celkové velikosti X se podílí nezanedbatelně. Současně je třeba říct, že X nezávisle na této hodnotě taktéž kyne. Podle smaps a podle velikosti která se nahraje po hibernaci soudím, že se využívá cca 120MB paměti (tato hodnota se s časem téměř nemění). Celkově odhaduji "kynutí" na cca 8M/den.
ostatní programy
PID RSS COMMAND START 27574 55476 python Sep15 10729 36916 amarokapp Sep21 4957 21428 kicker Sep06 7163 23896 audacious Sep15 5104 21020 konsole Sep06 5532 20424 sim Sep07python, ve kterém běží screenlety (všeho všudy dva) roste rychlostí 2M/den. Amarok při intenzivním používaní si vezme 10MB/den. Já ho ovšem pouštím málokdy. Std. KDE aplikace a sim nekynou neebo jen zanedbatelně. Podívejme se, jak je na tom konsole z hlediska sdílené paměti.
perl ./smem.pl 5104
VMSIZE: 98764 kb
RSS: 21428 kb total
4712 kb shared
5660 kb private clean
11056 kb private dirty
Tato aplikace s 5 otevřenými taby a 1000 řádkovou historií zabírá 21428kB z čehož 4712kB se sdílí.
Co z toho?
Jak vidíte tak nemám spuštěno nic speciálního. Žádné vývojové prostředí. Žádná megaaplikace v javě. Neběží žádný virtuální stroj (dva běžně spuštěné jsem musel vypnout aby proběhl swapoff). Jediná odchylka oproti průměru je, že mam vše spuštěné dlouho. A to je pro odhalování leakujících programů nejlepší. Na autory opery a kaffeine je třeba bez pochyby tlačit aby tuto situaci řešili. Pokud máte velký swap tak je to skoro jedno jelikož leaknutá paměť se vetšinou odswapuje a už nepřekáží. Kdo ještě říká, že 4GiB RAM na desktopu jsou k ničemu?
Tiskni
Sdílej:
Č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?
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í.
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.
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.
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.