天天看點

“C代碼”擷取系統目前負載

       線上伺服器(主要指基于linux系統的)負載的擷取,其方法有很多。可以用系統提供的指令,可以用各種腳本語言。此博文中提供的方法是:用C代碼擷取。至于在系統運維的過程中,該選用哪一種,要取決于你的具體應用場景。

       本博文中的代碼是在tsar中load子產品的基礎上修改的,前提是我弄懂了代碼的含義,加上業務場景的需求。是以走了捷徑,具體詳情如下文所示:

1、所需頭檔案

“C代碼”擷取系統目前負載

2、預定義宏

     說明:buffer大小的宏定義

               負載檔案的宏定義

“C代碼”擷取系統目前負載

3、記錄負載的結構體

“C代碼”擷取系統目前負載

4、負載擷取函數

“C代碼”擷取系統目前負載
“C代碼”擷取系統目前負載

5、main函數

“C代碼”擷取系統目前負載

6、編譯運作

“C代碼”擷取系統目前負載

      細心的博友不知你發現了沒有,這篇博文中所述代碼的輸出結果,同樣可以放到nginx子產品中,以web界面的方式來顯示。這個我已實作并測試過了。

“C代碼”擷取系統目前負載