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]獲取整體APP CPU資訊AndroidAPP
- UNIX如何檢視執行緒執行情況執行緒
- OushuDB 檢視查詢執行情況
- Python 指令碼之獲取CPU資訊Python指令碼
- 如何獲取 Android CPU 核心數 (Java/C++)AndroidJavaC++
- mac獲取cpu資訊Mac
- 如何使用 Bash 指令碼從 SAR 報告中獲取 CPU 和記憶體使用情況指令碼記憶體
- prepareStatement和Statement執行批處理的執行情況REST
- Netdata Mysql執行情況監控外掛MySql
- 程式獲取Android簽名Android
- 如何獲取android程式LOGAndroid
- golang獲取程式執行路徑Golang
- 使用 tideways_xhprof + xhgui 分析 PHP 執行情況IDEGUIPHP
- 工信部:2021年鋁行業執行情況行業
- 工信部:2021年鋼鐵行業執行情況行業
- 工信部:2021年焦化行業執行情況行業
- 【SQL】Oracle資料庫監控sql執行情況SQLOracle資料庫
- 工信部:2017年軟體業經濟執行情況
- Netdata Tomcat執行情況監控外掛Tomcat
- VC 各種情況下的視窗控制程式碼的獲取
- 獲取top N cpu pid的sql資訊指令碼SQL指令碼
- android 獲取手機號碼Android
- 直播系統程式碼,Android獲取、設定鎖屏密碼Android密碼
- java透過ip獲取遠端伺服器cpu使用率的程式碼Java伺服器
- C++獲取CPU使用率C++
- 獲取 NodeJS 程式退出碼NodeJS
- 獲取小程式二維碼
- 實現system函式功能(shell命令執行情況判斷)函式
- 工信部:2021年工業矽行業執行情況行業
- WGCLOUD部署筆記 配置監測redis的執行情況GCCloud筆記Redis
- PHP獲取小程式openid,10行程式碼快速獲取小程式openidPHP行程
- PHP 獲取程式碼執行時間和消耗的記憶體PHP記憶體
- 獲取C#中方法的執行時間及其程式碼注入C#
- 使用WebService獲取天氣實況Web
- Linux cpuinfo cpu資訊獲取詳解LinuxUI
- 實時獲取最耗CPU的SQLSQL
- JavaScript 獲取主機名程式碼JavaScript
- JavaScript獲取星期程式碼例項JavaScript