Android程式碼獲取CPU執行情況
眾所周知,android的os是linux。也就是說,關於硬體的資訊,只有從linux介面才能得到。我們知道,除了系統呼叫,只能從proc sys這兩個檔案系統裡獲取資料了。cpu資訊也藏在這兩個檔案系統裡。專門的系統呼叫不靈活,且依賴c庫。
1. /proc/cpuinfo
通過這個可以統計cpu情況,包括cpu個數,cpu核心數,cpu硬體執行緒數。不過android上,這個沒啥用。
kernel位置: fs/proc/cpuinfo.c
2. /proc/stat
這個能獲取每個cpu的活動情況,一些統計資訊,不包括頻率,我們知道頻率是通過cpufreq獲取的。
kernel位置:fs/proc/stat.c
3. /sys/devices/system/cpu
這個目錄下的諸如cpu0 cpu1等都是kernel裡註冊cpu時候,生成的節點,通過這個統計基本上可以統計出cpu的情況了。通過建立連結的方式,可以偽造一個cpuX。
sysfs_create_link(&cpu_subsys.dev_root->kobj, &cpu->dev.kobj, “cpu1″);
kernel位置:drivers/base/cpu.c
4. android的vm介面
Runtime.java:605: public int availableProcessors() {
原始碼位置;libcore
注意:這個介面實際上最後呼叫了bionic的sysconf介面,這個介面也是統計的/sys/devices/system/cpu/下的資訊,但是連結是不算數的。
相關文章
- 如何獲取 Android CPU 核心數 (Java/C++)AndroidJavaC++
- [Java/日誌] 日誌框架列印應用程式日誌程式碼的執行情況Java框架
- OushuDB 檢視查詢執行情況
- android 獲取手機號碼Android
- 直播系統程式碼,Android獲取、設定鎖屏密碼Android密碼
- 如何使用 Bash 指令碼從 SAR 報告中獲取 CPU 和記憶體使用情況指令碼記憶體
- prepareStatement和Statement執行批處理的執行情況REST
- 獲取 NodeJS 程式退出碼NodeJS
- 使用 tideways_xhprof + xhgui 分析 PHP 執行情況IDEGUIPHP
- PHP獲取小程式openid,10行程式碼快速獲取小程式openidPHP行程
- 工信部:2021年焦化行業執行情況行業
- 工信部:2021年鋁行業執行情況行業
- 【SQL】Oracle資料庫監控sql執行情況SQLOracle資料庫
- 獲取小程式二維碼
- 【android】獲取手機安裝的所有程式Android
- 獲取pytdx行情伺服器ip和port伺服器
- 獲取C#中方法的執行時間及其程式碼注入C#
- PHP 獲取程式碼執行時間和消耗的記憶體PHP記憶體
- Android開發:APK的反編譯(獲取程式碼和資原始檔)AndroidAPK編譯
- 2019年5月份金融市場執行情況
- 工信部:2021年鋼鐵行業執行情況行業
- 安泰科:2021年鎳鈷鋰行業執行情況行業
- WGCLOUD部署筆記 配置監測redis的執行情況GCCloud筆記Redis
- JavaScript 獲取主機名程式碼JavaScript
- js獲取北京時間程式碼JS
- 執行緒繫結cpu核心的程式碼研究執行緒
- windows獲取實際cpu speed(非物理)Windows
- python kubernetes 獲取 pod 的 cpu 佔用率Python
- 實現system函式功能(shell命令執行情況判斷)函式
- 2019年上半年網際網路執行情況分析
- 工信部:2021年工業矽行業執行情況行業
- ADB命令獲取Android UIDAndroidUI
- 兩步快速獲取小程式原始碼原始碼
- Oracle 獲取整數方式程式碼整理Oracle
- Android Activity Deeplink啟動來源獲取原始碼分析Android原始碼
- 7種Linux中獲取CPU速度的方法Linux
- 如何在Ubuntu Linux中獲取CPU溫度UbuntuLinux
- 工信部:2019上半年鋼鐵行業執行情況行業
- 工信部:2021年建材行業經濟執行情況行業