Portál AbcLinuxu, 14. května 2025 02:54

Dotaz: Jak zistim aktualne vyuzitie cpu (nie loadavg) ako sucet v ps -eo pcpu

7.2.2011 21:47 asdfasdfasdf
Jak zistim aktualne vyuzitie cpu (nie loadavg) ako sucet v ps -eo pcpu
Přečteno: 309×
Odpovědět | Admin
Potrebujem s co najmensou reziou zistit aktualne zatazenie procesora, v podstate sucet `ps -eo pcpu` ale nie v bashi ale v C, proste len nacitanim a spracovanim nejakych hodnot z /proc alebo tak nejak. Naprogramovat si to viem len neviem odkial nacitat tie udaje. /proc/loadavg nemozem pouzit lebo tam su dost neaktualne data. Vdaka.

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

Jendа avatar 7.2.2011 22:04 Jendа | skóre: 78 | blog: Jenda | JO70FB
Rozbalit Rozbalit vše Re: Jak zistim aktualne vyuzitie cpu (nie loadavg) ako sucet v ps -eo pcpu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Naprogramovat si to viem len neviem odkial nacitat tie udaje.
strace ps -eo pcpu
Řešení 1× (Pavel Pinkava)
8.2.2011 09:40 chochi | skóre: 29 | Praha
Rozbalit Rozbalit vše Re: Jak zistim aktualne vyuzitie cpu (nie loadavg) ako sucet v ps -eo pcpu
Odpovědět | | Sbalit | Link | Blokovat | Admin
Ahoj,

Standartne se to resi pres "/proc/stat" (nejlepsi dokumentace je v jadru linuxu "Documentation/filesystems/proc.txt"). Policka maji nasledujici vyznam:
- user: normal processes executing in user mode
- nice: niced processes executing in user mode
- system: processes executing in kernel mode
- idle: twiddling thumbs
- iowait: waiting for I/O to complete
- irq: servicing interrupts
- softirq: servicing softirqs
- steal: involuntary wait

Takze pro zjisteni prumerneho zatizeni CPU mezi okamziky A a B bych udelal neco takovehleho:
((user(B) + nice(B) + system(B) + irq(B) + softirq(B) + steal(B)) - (user(A) + nice(A) + system(A) + irq(A) + softirq(A) + steal(A))) / ((user(B) + nice(B) + system(B) + idle(B) + iowait(B) + irq(B) + softirq(B) + steal(B)) - (user(A) + nice(A) + system(A) + idle(A) + iowait(A) + irq(A) + softirq(A) + steal(A)))
8.2.2011 10:13 Michal Kubeček | skóre: 72 | Luštěnice
Rozbalit Rozbalit vše Re: Jak zistim aktualne vyuzitie cpu (nie loadavg) ako sucet v ps -eo pcpu
Ještě bych doplnil: nic takového jako aktuální (okamžité) zatížení procesoru(ů) neexistuje, vždy to je průměrná zátěž za určitý interval a je na každém, jak dlouhý si ho zvolí.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.