1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60
|
#include "proc.h"
#include <glibtop.h>
#include <glibtop/cpu.h>
#include <glibtop/mem.h>
#include <glibtop/swap.h>
#include <stdio.h>
void
proc_read_cpu (ProcInfo *ps)
{
glibtop_cpu cpu;
int i;
glibtop_get_cpu (&cpu);
for (i=1; i<PROC_CPU_SIZE; i++)
ps->cpu_last [i] = ps->cpu_now [i];
ps->cpu_now [PROC_CPU_USER] = cpu.user;
ps->cpu_now [PROC_CPU_NICE] = cpu.nice;
ps->cpu_now [PROC_CPU_SYS] = cpu.sys;
ps->cpu_now [PROC_CPU_IDLE] = cpu.idle;
for (i=1; i<PROC_CPU_SIZE; i++)
ps->cpu [i] = ps->cpu_now [i] - ps->cpu_last [i];
ps->cpu [PROC_CPU_TOTAL] =
ps->cpu [PROC_CPU_USER] +
ps->cpu [PROC_CPU_NICE] +
ps->cpu [PROC_CPU_SYS] +
ps->cpu [PROC_CPU_IDLE];
}
void
proc_read_mem (ProcInfo *ps)
{
glibtop_mem mem;
glibtop_swap swap;
glibtop_get_mem (&mem);
ps->mem [PROC_MEM_TOTAL] = mem.total;
ps->mem [PROC_MEM_USED] = mem.used;
ps->mem [PROC_MEM_FREE] = mem.free;
ps->mem [PROC_MEM_SHARED] = mem.shared;
ps->mem [PROC_MEM_BUF] = mem.buffer;
ps->mem [PROC_MEM_USER] = ps->mem [PROC_MEM_TOTAL]
- ps->mem [PROC_MEM_FREE]
- ps->mem [PROC_MEM_BUF]
- ps->mem [PROC_MEM_SHARED];
glibtop_get_swap (&swap);
ps->swap [PROC_SWAP_TOTAL] = swap.total;
ps->swap [PROC_SWAP_USED] = swap.used;
ps->swap [PROC_SWAP_FREE] = swap.free;
}
|