load.c - vx32 - Local 9vx git repository for patches.
(HTM) git clone git://r-36.net/vx32
(DIR) Log
(DIR) Files
(DIR) Refs
---
load.c (550B)
---
1 #include "u.h"
2 #include <sys/times.h>
3 #include "lib.h"
4 #include "mem.h"
5 #include "dat.h"
6
7 /*
8 * CPU load
9 */
10 void
11 ploadproc(void *v)
12 {
13 double load;
14 vlong hz;
15 struct tms t;
16 clock_t now, last;
17 clock_t used, lastused;
18
19 hz = sysconf(_SC_CLK_TCK);
20 last = 0;
21 lastused = 0;
22 load = 0;
23
24 for(;;){
25 usleep(1000000);
26 now = times(&t);
27 used = t.tms_utime + t.tms_stime;
28 load = (double)(used - lastused) / (now - last);
29 machp[0]->load = load * 100 * hz;
30 /*
31 iprint("XXX Load: %d%%\n", (int)(load * 100));
32 */
33 lastused = used;
34 last = now;
35 }
36 }
37