Linux 下的性能监控的工具有很多,常用的命令有top, mpstat, iostat等,在终端下可以很方便的监视各个性能参数(比如cpu,内存,磁盘等), 但是要在代码中获取这些数据, 用命令就显得不太方便了,不过感兴趣的同学可以去看看源码是怎么实现的.
这里介绍一个跨平台的开源库Sigar,使用Sigar 可以很轻松的获取各个性能数据,我们来试一下.
访问Sigar 在GitHub 上的主页,我们可以将整个项目clone 下来,怎么clone 就不说了,相信这些基本操作大家都会.
接下来就是编译了,参照官网的介绍可以看到sigar 支持的平台还是挺多的,并且C和java 都能用.
以计算CPU 使用率为例,看看如何用sigar 实现.
首先需要定义一个sigar_t 类型的句柄,比如这样:
sigar_t *sigar_cpu;
接着,和大多数开源库一样,用这个句柄去打开某个操作:
sigar_open(&sigar_cpu);
可以定义一个sigar_cpu_list_t用来获取cpu列表,从而得知cpu 的个数:
sigar_cpu_list_t cpu_list;
int