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í
×
    dnes 00:33 | Nová verze

    Firma Proxmox vydala novou serverovou distribuci Datacenter Manager ve verzi 1.0 (poznámky k vydání). Podobně jako Virtual Environment, Mail Gateway či Backup Server je založená na Debianu, k němuž přidává integraci ZFS, webové administrační rozhraní a další. Datacenter Manager je určený ke správě instalací právě ostatních distribucí Proxmox.

    |🇵🇸 | Komentářů: 0
    včera 23:44 | Nová verze

    Byla vydána nová verze 2.4.66 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 5 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    včera 14:00 | IT novinky

    Programovací jazyk JavaScript (Wikipedie) dnes slaví 30 let od svého oficiálního představení 4. prosince 1995.

    Ladislav Hagara | Komentářů: 0
    včera 04:22 | Bezpečnostní upozornění

    Byly zveřejněny informace o kritické zranitelnosti CVE-2025-55182 s CVSS 10.0 v React Server Components. Zranitelnost je opravena v Reactu 19.0.1, 19.1.2 a 19.2.1.

    Ladislav Hagara | Komentářů: 2
    včera 02:44 | Komunita

    Bylo rozhodnuto, že nejnovější Linux 6.18 je jádrem s prodlouženou upstream podporou (LTS). Ta je aktuálně plánována do prosince 2027. LTS jader je aktuálně šest: 5.10, 5.15, 6.1, 6.6, 6.12 a 6.18.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Nová verze

    Byla vydána nová stabilní verze 3.23.0, tj. první z nové řady 3.23, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 1
    3.12. 18:11 | Nová verze

    Byla vydána verze 6.0 webového aplikačního frameworku napsaného v Pythonu Django (Wikipedie). Přehled novinek v poznámkách k vydání.

    Ladislav Hagara | Komentářů: 0
    3.12. 05:55 | Nová verze

    Po více než 7 měsících vývoje od vydání verze 6.8 byla vydána nová verze 6.9 svobodného open source redakčního systému WordPress. Kódové jméno Gene bylo vybráno na počest amerického jazzového klavíristy Gene Harrise (Ray Brown Trio - Summertime).

    Ladislav Hagara | Komentářů: 16
    3.12. 05:11 | Komunita

    Na čem pracují vývojáři webového prohlížeče Ladybird (GitHub)? Byl publikován přehled vývoje za listopad (YouTube).

    Ladislav Hagara | Komentářů: 0
    3.12. 01:55 | Nová verze

    Google Chrome 143 byl prohlášen za stabilní. Nejnovější stabilní verze 143.0.7499.40 přináší řadu novinek z hlediska uživatelů i vývojářů. Podrobný přehled v poznámkách k vydání. Opraveno bylo 13 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 0
    Jaké řešení používáte k vývoji / práci?
     (34%)
     (47%)
     (19%)
     (18%)
     (23%)
     (15%)
     (25%)
     (16%)
     (18%)
    Celkem 427 hlasů
     Komentářů: 18, poslední 2.12. 18:34
    Rozcestník

    Dotaz: Kde "nájsť" informácie o záťaži qemu-kvm virtuálky

    26.11.2015 19:36 Peter
    Kde "nájsť" informácie o záťaži qemu-kvm virtuálky
    Přečteno: 247×
    Dobrý deň vám prajem.

    Mám server s niekoľkými virtuálkami priamo nad qemu-kvm (čiže žiaden libvirt, virsh, proxmox, ...) a chcem si vytvoriť grafy vytaženia jednotlivých virtuálok. V podstate potrebujem zistiť ako konkrétny PID qemu-kvm vyťažuje procesor, koľko RAM má vyhradené a koľko naozaj spotrebováva, ako vyťažuje IO disku, ako aktuálne vyťažuje sieť (aktuálna rýchlosť upload, download) a koľko od spustenia preniesol dát (používam tap v bridge) a neviem čo ešte by bolo vhodné monitorovať. Pochopiteľne potrebujem aby tie dáta získaval skript, teda interaktívne nástroje typu htop sú nepoužitelné.

    Silne predpokladám, že napríklad na ten procesor a pamäť potrebujem ps, ale napríklad neviem, že či VSS a RSZ je to čo hľadám (VSZ - vyhradená pamäť - čiže napríklad pri spustení qemu-kvm som nastavil stroju 4GB + réžia a RSZ - aktuálne používaná pamäť - čiže napríklad ten virtuálny linux vo vnútri aktuálne používa povedzme 500MB)

    Proste potrebujem len pomoc s tým aké nástroje a ako (s akými prepínačmi - voľbami) mi povedia čo chcem vedieť - zvyšok si samozrejme naskriptujem sám.

    Vopred vám za všetky odpovede veľmi pekne ďakujem.

    Odpovědi

    26.11.2015 21:43 Andrej | skóre: 51 | blog: Republic of Mordor
    Rozbalit Rozbalit vše Re: Kde "nájsť" informácie o záťaži qemu-kvm virtuálky

    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:
    • Spustí to subshell, který sekundu spí a sekundu stressuje jeden procesor na 100%. Poznamená si to PID toho subshellu (nikoliv však PID stressu ani PID jednoho dalšího potomka, kterého stress zplodí).
    • Pomocí 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 stressují 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.
    • Nakonec to dvacet sekund ukazuje každou sekundu zatížení. Záleží na počtu tiků za sekundu (často je jich 100), a na délce intervalu (1 sekunda v tomto případě), jak bude monitorování přesné. Samozřejmě se tiky počítají pro každý procesor zvlášť, takže pokud monitorovaný proces spustí víc subprocesů na multiprocesoru, například 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í.

    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.