线上服务器(主要指基于linux系统的)负载的获取,其方法有很多。可以用系统提供的命令,可以用各种脚本语言。此博文中提供的方法是:用C代码获取。至于在系统运维的过程中,该选用哪一种,要取决于你的具体应用场景。
本博文中的代码是在tsar中load模块的基础上修改的,前提是我弄懂了代码的含义,加上业务场景的需求。因此走了捷径,具体详情如下文所示:
1、所需头文件
2、预定义宏
说明:buffer大小的宏定义
负载文件的宏定义
3、记录负载的结构体
4、负载获取函数
5、main函数
6、编译运行
细心的博友不知你发现了没有,这篇博文中所述代码的输出结果,同样可以放到nginx模块中,以web界面的方式来显示。这个我已实现并测试过了。
具体的操作可以参照上上篇博文,关于 nginx改造“显示当前服务器的负载” ,代码需要稍稍修改,Good luck for you!
本博文中的代码是在tsar中load模块的基础上修改的,前提是我弄懂了代码的含义,加上业务场景的需求。因此走了捷径,具体详情如下文所示:
1、所需头文件
2、预定义宏
说明:buffer大小的宏定义
负载文件的宏定义
3、记录负载的结构体
4、负载获取函数
5、main函数
6、编译运行
细心的博友不知你发现了没有,这篇博文中所述代码的输出结果,同样可以放到nginx模块中,以web界面的方式来显示。这个我已实现并测试过了。
具体的操作可以参照上上篇博文,关于 nginx改造“显示当前服务器的负载” ,代码需要稍稍修改,Good luck for you!