運維監控程式中經常需要根據一個程序号pid去監控實時的cpu和記憶體占用,以下整理了一個C++實作的簡單例子,并封裝為友善跨平台調用的函數
代碼
#include
運作結果
17258
cpu usage ratio: 114.286%
memory usage: 8889.9MB
直接使用GetCpuUsageRatio和GetMemoryUsage就行了,有幾個說明
- linux下其實是通過讀取并解析/proc目錄下程序虛拟檔案對應字段值計算得到
- windows下調用系統api計算得到
- 這種打點采樣擷取cpu和記憶體占用的方式資料跟用系統管理器檢視到的不完全一緻