process_stat.h的內容如下:
/**@file
*@brief 程序統計資訊函式的宣告
*@author 張亞霏
*@date 2009/05/03
*@version 0.1
* */
#ifndef process_stat_h
#define process_stat_h
#ifdef __cplusplus
extern "c"
#endif
#endif/*process_stat_h*/
process_stat_win.c的內容如下:
/**@file
*@brief 程序統計資訊函式的實現
*@author 張亞霏
*@date 2009/05/03
*@version 0.1
* * 部分**來自msdn的例子
* 部分**來自google chromium專案
* * 需要連線到psapi.lib
*/
#include #include #include
#include "process_stat.h"
/// 時間轉換
static uint64_t file_time_2_utc(const filetime* ftime)
/// 獲得cpu的核數
static
int get_processor_number()
int get_cpu_usage()
getsystemtimeasfiletime(&now);
if (!getprocesstimes(getcurrentprocess(), &creation_time, &exit_time,
&kernel_time, &user_time))
system_time = (file_time_2_utc(&kernel_time) + file_time_2_utc(&user_time)) / processor_count_;
time = file_time_2_utc(&now);
if ((last_system_time_ == 0) || (last_time_ == 0))
system_time_delta = system_time - last_system_time_;
time_delta = time - last_time_;
assert(time_delta != 0);
if (time_delta == 0)
return -1;
// we add time_delta / 2 so the result is rounded.
cpu = (int)((system_time_delta * 100 + time_delta / 2) / time_delta);
last_system_time_ = system_time;
last_time_ = time;
return cpu;
} int get_memory_usage(uint64_t* mem, uint64_t* vmem)
return -1;
} int get_io_bytes(uint64_t* read_bytes, uint64_t* write_bytes)
return -1;
} 可以這樣使用:
/**@file
*@brief 程序統計資訊函式的測試
*@author 張亞霏
*@date 2009/05/03
*@version 0.1
* */
#include "process_stat.h"
#include #include int main()
return
0;
}
cpu資訊獲取
cpu溫度的獲取 cpu溫度儲存在 sys class thermal thermal zone0 temp中,讀取出的數值需要除以1000。bash 工具 cat 工具用來強制讀取乙個檔案。gerp 工具用來篩選資料。awk 用來處理資料。uptime 獲取cpu負載資訊 bash 數值計算 ba...
檢視CPU 記憶體和磁碟資訊
1 檢視cpu資訊 總核數 物理cpu個數 x 每顆物理cpu的核數 總邏輯cpu數 物理cpu個數 x 每顆物理cpu的核數 x 超執行緒數 檢視物理cpu個數 cat proc cpuinfo grep physical id sort uniq wc l 檢視每個物理cpu中core的個數 即...
Linux檢視CPU和記憶體資訊
檢視cpu資訊命令 總核數 物理cpu個數 x 每顆物理cpu的核數 總邏輯cpu數 物理cpu個數 x 每顆物理cpu的核數 x 超執行緒數 檢視物理cpu個數 cat proc cpuinfo grep physical id sort uniq wc l 檢視每個物理cpu中core的個數 即...