Android:高通平台性能調試


1.GPU / CPU 信息打印腳本

gpu_cpu_info.bat

@echo off 
echo "==================GPU======================"
echo Used / Total:
adb shell cat /sys/class/kgsl/kgsl-3d0/gpubusy
echo Utilization rate:
adb shell cat /sys/class/kgsl/kgsl-3d0/gpu_busy_percentage
echo Max frequencies:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/max_freq
echo Min frequencies:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/min_freq
echo Available frequencies:
adb shell cat /sys/class/kgsl/kgsl-3d0/gpu_available_frequencies
echo Current frequencies:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/cur_freq
echo Available governors:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/available_governors
echo Governors:
adb shell cat /sys/class/kgsl/kgsl-3d0/devfreq/governor

echo "==================CPU======================"
echo Available frequencies:
adb shell cat
echo Max frequencies: adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_max_freq echo Min frequencies: adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_min_freq echo Current frequencies: adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq echo "===========================================" ping 127.0.0.1 -n 3 > nul %0 @循環執行腳本 pause

 

2.進程/線程 性能信息:

1.打印進程的堆棧信息。從堆棧信息里可以通過.so辨別哪個線程是干什么的,從而在 top -t 的結果里去查找你想要的那個線程的 CPU 使用情況。
# debuggerd -b <pid>
2.查看某個進程里所有線程 # ps -A | grep camera
cameraserver   642     1  176344  50940 binder_ioctl_write_read 0 S android.hardware.camera.provider@2.4-service_64
cameraserver   902     1   40100  18452 binder_ioctl_write_read 0 S cameraserver
# ps -T 642
USER           PID   TID  PPID     VSZ    RSS WCHAN            ADDR S CMD
cameraserver   642   642     1  176344  50940 binder_io+          0 S provider@2.4-se
cameraserver   642   718     1  176344  50940 poll_sche+          0 S provider@2.4-se
cameraserver   642   754     1  176344  50940 futex_wai+          0 S SyncManager_0
cameraserver   642   755     1  176344  50940 poll_sche+          0 S provider@2.4-se
cameraserver   642  1535     1  176344  50940 futex_wai+          0 S provider@2.4-se
cameraserver   642  1547     1  176344  50940 futex_wai+          0 S provider@2.4-se
cameraserver   642  1549     1  176344  50940 futex_wai+          0 S provider@2.4-se
cameraserver   642  1550     1  176344  50940 futex_wai+          0 S provider@2.4-se
cameraserver   642  1551     1  176344  50940 futex_wai+          0 S provider@2.4-se
cameraserver   642  1552     1  176344  50940 futex_wai+          0 S provider@2.4-se
cameraserver   642  1553     1  176344  50940 futex_wai+          0 S provider@2.4-se
cameraserver   642  1554     1  176344  50940 futex_wai+          0 S provider@2.4-se
cameraserver   642  1555     1  176344  50940 poll_sche+          0 S provider@2.4-se
cameraserver   642  1562     1  176344  50940 poll_sche+          0 S provider@2.4-se
cameraserver   642  1582     1  176344  50940 binder_io+          0 S HwBinder:642_1
cameraserver   642  1583     1  176344  50940 binder_io+          0 S HwBinder:642_2
cameraserver   642  1584     1  176344  50940 binder_io+          0 S HwBinder:642_3
cameraserver   642  1585     1  176344  50940 binder_io+          0 S HwBinder:642_4
cameraserver   642  4586     1  176344  50940 poll_sche+          0 S HwBinder:642_1
 
         

 查看該進程ION Buffer情況:
 # cat /sys/kernel/debug/dma_buf/dmaprocs | grep 642

provider@2.4-se (PID 642) size: 315848
dmabuf642       2544            3

3.查看線程內存占用和CPU使用率 # top 參數含義:

PID  進程號

USER 用戶名

PR   優先級

NI   nice值。負值表示高優先級,正值表示低優先級m  

RES  進程使用的、未被換出的物理內存大小,單位kb 

SHR  共享內存大小,單位kb

S    進程狀態。
 D=不可中斷的睡眠狀態
 R=運行
 S=睡眠
 T=跟蹤/停止

 Z=僵屍進程

%CPU  CPU使用率 

%MEM     進程使用的物理內存百分比

TIME+    進程使用的CPU時間總計,單位1/100秒

 

4.查看指定程序(mediaserver)內存使用情況
# dumpsys meminfo mediaserver
   dumpsys [options]
             meminfo 顯示內存信息
              cpuinfo 顯示CPU信息
              account 顯示accounts信息
              activity 顯示所有的activities的信息
              window 顯示鍵盤,窗口和它們的關系
              wifi 顯示wifi信息

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM