Byla vydána nová stabilní verze 7.6 webového prohlížeče Vivaldi (Wikipedie). Postavena je na Chromiu 140. Přehled novinek i s náhledy v příspěvku na blogu.
Byla vydána verze 1.90.0 programovacího jazyka Rust (Wikipedie). Podrobnosti v poznámkách k vydání. Vyzkoušet Rust lze například na stránce Rust by Example.
GNUnet (Wikipedie) byl vydán v nové major verzi 0.25.0. Jedná se o framework pro decentralizované peer-to-peer síťování, na kterém je postavena řada aplikací.
Byla vydána nová major verze 7.0 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Nově je postavena je na Debianu 13 (Trixie) a GNOME 48 (Bengaluru). Další novinky v příslušném seznamu.
Společnost Meta na dvoudenní konferenci Meta Connect 2025 představuje své novinky. První den byly představeny nové AI brýle: Ray-Ban Meta (Gen 2), sportovní Oakley Meta Vanguard a především Meta Ray-Ban Display s integrovaným displejem a EMG náramkem pro ovládání.
Po půl roce vývoje od vydání verze 48 bylo vydáno GNOME 49 s kódovým názvem Brescia (Mastodon). S přehrávačem videí Showtime místo Totemu a prohlížečem dokumentů Papers místo Evince. Podrobný přehled novinek i s náhledy v poznámkách k vydání a v novinkách pro vývojáře.
Open source softwarový stack ROCm (Wikipedie) pro vývoj AI a HPC na GPU od AMD byl vydán ve verzi 7.0.0. Přidána byla podpora AMD Instinct MI355X a MI350X.
Byla vydána nová verze 258 správce systému a služeb systemd (GitHub).
Byla vydána Java 25 / JDK 25. Nových vlastností (JEP - JDK Enhancement Proposal) je 18. Jedná se o LTS verzi.
Věra Pohlová před 26 lety: „Tyhle aféry každého jenom otravují. Já bych všechny ty internety a počítače zakázala“. Jde o odpověď na anketní otázku deníku Metro vydaného 17. září 1999 na téma zneužití údajů o sporožirových účtech klientů České spořitelny.
Musím se předem přiznat, že s monitorováním RAM a disku moc zkušeností nemám, ale o zatížení CPU něco vím. Takže se ve své odpovědi omezím na CPU a snad objasním aspoň z malé části, jak se to dá monitorovat.
Jednoduchá odpověď je „v /proc/[pid]/stat
“, ale zkusím to trochu rozvést. Tady je jednoduchý load monitor, který se dá rovnou spustit a vyzkoušet:
( # Vyrobíme nějaký proces k monitorování. (for ((;;)); do stress -c 1 -t 1; sleep 1; done >/dev/null;) & # Poznamenáme si, který proces to byl a že ho máme zabít. trap 'kill "$PID"' EXIT PID="$!" # Naprogramujeme výpočet vytížení procesoru v awk. AWK_SCRIPT=' BEGIN { getconf = "getconf CLK_TCK" getconf | getline TCK close(getconf) } { uspace = $14 kernel = $15 kids_uspace = $16 kids_kernel = $17 kvm_uspace = $43 kvm_kernel = $44 total_ticks = uspace + kernel + kids_uspace + kids_kernel kvm_ticks = kvm_uspace + kvm_kernel } NR > 1 { print (100 * (total_ticks - last_total_ticks) / TCK) "% total,", (100 * (kvm_ticks - last_kvm_ticks) / TCK) "% in KVM" } { last_total_ticks = total_ticks last_kvm_ticks = kvm_ticks }' # Každou sekundu načteme statistiky vytížení procesoru do awk. for ((i = 0; i < 20; ++i)); do cat "/proc/${PID}/stat" sleep 1 done | awk "$AWK_SCRIPT" )Co tohle dělá, v kostce:
stress
uje jeden procesor na 100%. Poznamená si to PID toho subshellu (nikoliv však PID stress
u ani PID jednoho dalšího potomka, kterého stress
zplodí).awk
čte informace o tom, kolik tiků příslušný proces spotřeboval od minulého čtení (před sekundou) a na základě toho ukazuje vytížení procesoru v procentech. Protože stress
nic nevirtualizuje, bude druhá vypisovaná hodnota v tomto případě vždycky nula. Protože děti toho shellu, jehož PID sledujeme, vždy jednu sekundu stress
ují a jednu sekundu spí, právě tomu bude odpovídat první vypisovaná hodnota. Co znamenají které hodnoty v daném /proc/[pid]/stat
souboru nebo v globálním /proc/stat
souboru, se dá snadno nalézt v man 5 proc
.stress -c 3
, bude chvílemi ukazovat například vytížení 300%. To je zcela normální a očekávaný jev. Aby člověk získal hodnotu od 0 do 100%, musí to normalizovat třeba počtem virtuálních procesorů toho KVM.Ke KVM musím dodat, že se mi teď zrovna nechce logovat na některý z mých KVM serverů a tudíž jsem hodnoty typu kvm_ticks
ani náznakem neotestoval. Takže tam můžu mít celkem značnou spoustu chyb jak ve sloupcích, které dané hodnoty obsahují, tak i v jejich interpretaci. To už si musíš dořešit. Každopádně manuálová stránka říká, že hodnoty pro virtualizaci, tedy
kvm_uspace
a kvm_kernel
, jsou už zahrnuté v hodnotách pro děti daného procesu (kids_uspace
a kids_kernel
), takže není radno všech šest políček sečíst. První dvě plně stačí pro procesy bez dětí, druhá dvě je třeba přičíst, když je to (jako v tomto případě) nějaký shell nebo stress
s potomky a ta poslední dvě jsou asi tou slibovanou třetinou odpovědi na tvou otázku — udávají, kolik se strávilo virtualizací. Ovšem pokud někomu počítáš vytížení jeho KVM stroje, podle mě bys měl počítat všechny userspace
+ kernel
+ kvm_uspace
+ kvm_kernel
tiky daného KVM procesu, protože to, co proces virtuálního stroje dělá mimo virtuální stroj (údržbu kdovíčeho, mapování paměti, přístupy k disku a k virtuálním zařízením všeho druhu atd. atp.), by se rozhodně mělo taky „účtovat“ tomu klientovi. Děje se to přece kvůli podpoře běhu toho příslušného virtuálního stroje a že při tom procesor není zrovna ve virtualizačním režimu a nevykonává přímo instrukce toho KVM, to není až tak rozhodující.
Tiskni
Sdílej: