天天看点

“C代码”获取系统当前负载

       线上服务器(主要指基于linux系统的)负载的获取,其方法有很多。可以用系统提供的命令,可以用各种脚本语言。此博文中提供的方法是:用C代码获取。至于在系统运维的过程中,该选用哪一种,要取决于你的具体应用场景。

       本博文中的代码是在tsar中load模块的基础上修改的,前提是我弄懂了代码的含义,加上业务场景的需求。因此走了捷径,具体详情如下文所示:

1、所需头文件

“C代码”获取系统当前负载

2、预定义宏

     说明:buffer大小的宏定义

               负载文件的宏定义

“C代码”获取系统当前负载

3、记录负载的结构体

“C代码”获取系统当前负载

4、负载获取函数

“C代码”获取系统当前负载
“C代码”获取系统当前负载

5、main函数

“C代码”获取系统当前负载

6、编译运行

“C代码”获取系统当前负载

      细心的博友不知你发现了没有,这篇博文中所述代码的输出结果,同样可以放到nginx模块中,以web界面的方式来显示。这个我已实现并测试过了。

“C代码”获取系统当前负载