Sigar = System Information Gatherer And Reporter
源码地址
https://github.com/hyperic/sigar
文档和源码分享地址  
src Makefile
| 1 | SUBDIRS = os | 
sigar.h
sigar_cpu_info_t,sigar_cpu_t,sigar_cpu_list_t
- sigar_cpu_info_t存放的数据是对cpu所有核心的综合列表
- sigar_cpu_t则是对具体某个cpu的描述
- sigar_cpu_list_t包含了sigar_cpu_t
| 1 | typedef struct { | 
| 1 | typedef struct { | 
| 1 | typedef struct { | 
内存
| 1 | typedef struct { | 
路由
同理sigar_net_route_list_t中包含sigar_net_route_t数据
| 1 | typedef struct { | 
sigar.c
调用一些库函数获取系统相关的数据,建表存数据
CPU
| 函数或变量 | 描述 | 
|---|---|
| sigar_proc_cpu_get | 获取CPU占用 | 
| sigar_cpu_info_list_create | 根据SIGAR_CPU_INFO_MAX创建CPU信息列表 sigar_cpu_info_list_t *cpu_infos | 
| sigar_cpu_info_list_grow | 一倍扩展列表空间(原有空间基础上扩展SIGAR_CPU_INFO_MAX个单位) | 
| sigar_cpu_info_list_destroy | 清除 *cpu_infos数据 | 
| sigar_cpu_list_create | 创建 sigar_cpu_list_t *cpulist | 
| sigar_cpu_list_grow | 扩展cpu_list空间 | 
| sigar_cpu_list_destroy | 清除数据 | 
内存
路由
| 函数或变量 | 描述 | 
|---|---|
| sigar_net_route_list_create | 根据SIGAR_NET_ROUTE_LIST_MAX创建路由列表 | 
| sigar_net_route_list_grow | 一倍扩展空间 | 
| sigar_net_route_list_destroy | 清除数据 |