Chinaunix
标题:
一段代码 请帮忙解释(结贴)
[打印本页]
作者:
sakiola
时间:
2010-03-10 13:43
标题:
一段代码 请帮忙解释(结贴)
本帖最后由 sakiola 于 2010-03-10 15:53 编辑
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;
}
复制代码
这是procps中的Display.c中的一个函数 应该是用来计算单个进程的CPU使用率的
请问 (used_jiffies << 24) / avail_jiffies
1.
为什么要将used_jiffies左移24位之后去除 avail_jiffies
?
2.同时对于其计算的原理也不是很清楚
以上达人指教
////////////////////////////////////////////////////////////////////////////////
基本上弄清楚了 发来干扰视听了 sosososo sorry
////////////////////////////////////////////////////////////////////////////////
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2