Re: Como lo hace PS para obtener el % de uso de CPU por proceso?
Muchas gracias a todos por animarme a mirar el código, encontrarlo no
me ha llevado más de un minuto!! y yo complicandome la vida con
ingenieria inversa pensando que buscarlo en el código seria una
locura. Aquí lo pego por si sirve a alguien en un futuro.
static int want_this_proc_pcpu(proc_t *buf){
unsigned long long used_jiffies;
unsigned long pcpu = 0;
unsigned long long avail_jiffies;
if(!want_this_proc(buf)) return 0;
used_jiffies = buf->utime + buf->stime;
if(include_dead_children) used_jiffies += (buf->cutime + buf->cstime);
avail_jiffies = seconds_since_boot * Hertz - buf->start_time;
if(avail_jiffies) pcpu = (used_jiffies << 24) / avail_jiffies;
buf->pcpu = pcpu; // fits in an int, summing children on 128 CPUs
return 1;
}
Reply to: