- 论坛徽章:
- 0
|
正好前段时间老板让我做了个kernel中计算CPU和MEM使用率的模块
//new example
cpu 266415 10318 32917 135954819 40804 1678 1063
cpu0 266415 10318 32917 135954819 40804 1678 1063
//前者是CPU负载合计,后者是指单CPU负载,如SMP的cpu为cpu0和cpu1
//这些是指cpu的“七大客户”(以下简称“七大”)占用的jiffies数统计,从开机计算(存在溢出问题:))
//“七大”和“top”(不要告诉我你不知道)中的“ 0.0% us, 0.0% sy, 0.0% ni, 100.0% id, 0.0% wa, 0.0% hi, 0.0% si ” 是一一对应的,可以用如下数据结构表示:
struct cpu_info
{
U64 user;
U64 system;
U64 nice;
U64 idle;
U64 iowait;
U64 irq;
U64 softirq;
};
//具体每项的意思其实就很明显了
//如何计算是个小学数学问题,就不用赘述了
//不过在kernel中直接取数据也比较方便(……)
//
//ytao_2004@hotmail.com |
|