|
|
@@ -25,6 +25,7 @@
|
|
|
long double b[7];
|
|
|
|
|
|
memcpy(b, a, sizeof(b));
|
|
|
+ /* cpu user nice system idle iowait irq softirq */
|
|
|
if (pscanf("/proc/stat", "%*s %Lf %Lf %Lf %Lf %Lf %Lf %Lf",
|
|
|
&a[0], &a[1], &a[2], &a[3], &a[4], &a[5], &a[6]) != 7) {
|
|
|
return NULL;
|
|
|
@@ -34,11 +35,10 @@
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
- perc = 100 *
|
|
|
- ((b[0]+b[1]+b[2]+b[5]+b[6]) -
|
|
|
- (a[0]+a[1]+a[2]+a[5]+a[6])) /
|
|
|
- ((b[0]+b[1]+b[2]+b[3]+b[4]+b[5]+b[6]) -
|
|
|
- (a[0]+a[1]+a[2]+a[3]+a[4]+a[5]+a[6]));
|
|
|
+ perc = 100 * ((b[0] + b[1] + b[2] + b[5] + b[6]) -
|
|
|
+ (a[0] + a[1] + a[2] + a[5] + a[6])) /
|
|
|
+ ((b[0] + b[1] + b[2] + b[3] + b[4] + b[5] + b[6]) -
|
|
|
+ (a[0] + a[1] + a[2] + a[3] + a[4] + a[5] + a[6]));
|
|
|
|
|
|
return bprintf("%d", perc);
|
|
|
}
|
|
|
@@ -117,10 +117,10 @@
|
|
|
}
|
|
|
|
|
|
perc = 100 *
|
|
|
- ((a[CP_USER]+a[CP_NICE]+a[CP_SYS]+a[CP_INTR]) -
|
|
|
- (b[CP_USER]+b[CP_NICE]+b[CP_SYS]+b[CP_INTR])) /
|
|
|
- ((a[CP_USER]+a[CP_NICE]+a[CP_SYS]+a[CP_INTR]+a[CP_IDLE]) -
|
|
|
- (b[CP_USER]+b[CP_NICE]+b[CP_SYS]+b[CP_INTR]+b[CP_IDLE]));
|
|
|
+ ((a[CP_USER] + a[CP_NICE] + a[CP_SYS] + a[CP_INTR]) -
|
|
|
+ (b[CP_USER] + b[CP_NICE] + b[CP_SYS] + b[CP_INTR])) /
|
|
|
+ ((a[CP_USER] + a[CP_NICE] + a[CP_SYS] + a[CP_INTR] + a[CP_IDLE]) -
|
|
|
+ (b[CP_USER] + b[CP_NICE] + b[CP_SYS] + b[CP_INTR] + b[CP_IDLE]));
|
|
|
|
|
|
return bprintf("%d", perc);
|
|
|
}
|