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 > nul % @循环执行脚本 pause

2.进程/线程 性能信息:

.打印进程的堆栈信息。从堆栈信息里可以通过.so辨别哪个线程是干什么的,从而在 top -t 的结果里去查找你想要的那个线程的 CPU 使用情况。
# debuggerd -b <pid>
.查看某个进程里所有线程
# ps -A | grep camera
cameraserver             binder_ioctl_write_read  S android.hardware.camera.provider@2.4-service_64
cameraserver binder_ioctl_write_read S cameraserver
# ps -T 642
USER           PID   TID  PPID     VSZ    RSS WCHAN            ADDR S CMD
cameraserver binder_io+ S provider@2.4-se
cameraserver poll_sche+ S provider@2.4-se
cameraserver futex_wai+ S SyncManager_0
cameraserver poll_sche+ S provider@2.4-se
cameraserver futex_wai+ S provider@2.4-se
cameraserver futex_wai+ S provider@2.4-se
cameraserver futex_wai+ S provider@2.4-se
cameraserver futex_wai+ S provider@2.4-se
cameraserver futex_wai+ S provider@2.4-se
cameraserver futex_wai+ S provider@2.4-se
cameraserver futex_wai+ S provider@2.4-se
cameraserver futex_wai+ S provider@2.4-se
cameraserver poll_sche+ S provider@2.4-se
cameraserver poll_sche+ S provider@2.4-se
cameraserver binder_io+ S HwBinder:642_1
cameraserver binder_io+ S HwBinder:642_2
cameraserver binder_io+ S HwBinder:642_3
cameraserver binder_io+ S HwBinder:642_4
cameraserver poll_sche+ S HwBinder:642_1

 查看该进程ION Buffer情况:
 # cat /sys/kernel/debug/dma_buf/dmaprocs | grep 642

provider@2.4-se (PID ) size:
dmabuf642
.查看线程内存占用和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秒

.查看指定程序(mediaserver)内存使用情况
# dumpsys meminfo mediaserver
  dumpsys [options]
             meminfo 显示内存信息
              cpuinfo 显示CPU信息
              account 显示accounts信息
              activity 显示所有的activities的信息
              window 显示键盘,窗口和它们的关系
              wifi 显示wifi信息

Android:高通平台性能调试的更多相关文章

  1. Android高通平台调试Camera驱动全纪录

    项目比较紧,3周内把一个带有外置ISP,MIPI数据通信,800万像素的camera从无驱动到实现客户全部需求. 1日 搭平台,建环境,编译内核,烧写代码. 我是一直在Window下搭个虚拟机登服务器 ...

  2. 高通平台启动log概述(PBL log、sbl1 log、kernel log)【转】

    本文转自:https://blog.csdn.net/RadianceBlau/article/details/78416776?utm_source=blogxgwz9 高通平台启动log概述(PB ...

  3. 高通平台点亮LCD个人总结

    点击打开链接 高通平台LCD模块大致分为两部分:KERNEL和LK.在进行点屏之前,应该认真查看LCD原理图,弄清楚LCD亮屏需要满足的条件和上电时序,同时可以跟LCD IC原厂拿到初始化代码. 首先 ...

  4. 高通平台手机开发之LCD

    4.1. LCD 参考文档: 1) 80-NA157-174_E_DSI_Programing_Guide_B-Family_Android_Devices.pdf 2) 80-NN766-1_A_L ...

  5. 高通平台如何避免误入FFBM模式

    前面两篇博客分别介绍了通过fastboot和QFIL工具退出FFBM模式的方法.虽然售后的同学可以这么指导用户做恢复,但步骤多操作也麻烦,且属于事后处理,如果大面积高概率地出现,会严重影响用户体验.这 ...

  6. Android : 高通平台Camera调试之SetpropKey/camxoverridesettings.txt

    高通相关网址:Createpoint: https://createpoint.qti.qualcomm.com(可下载文档,Release Note等)Chipcode: https://chipc ...

  7. 高通平台读写nv总结

    一,引言      1. 什么是NV       高通平台的NV,保存了系统运行过程中各个模块可能用到的一些参数值,它是以单个文件的形式保存在EFS中,但用户是不能随意访问的,只能通过QXDM来进行读 ...

  8. 高通平台读写nv总结【转】

    本文转载自:https://blog.csdn.net/suofeng12345/article/details/52713993 一,引言      1. 什么是NV       高通平台的NV,保 ...

  9. 高通平台打开 dynamic debug方法【学习笔记】

    一.首先在内核的配置文件添加如下的配置: CONFIG_DEBUG_FS=y CONFIG_DYNAMIC_DEBUG=y 二.找到自己平台对应的 device/qcom/xxxx/init.targ ...

随机推荐

  1. MySQL之日期时间函数

      1.NOW() 用法:显示当前日期和时间 举例: mysql> select NOW(); +---------------------+ | NOW() | +-------------- ...

  2. JAVA静态方法是否可以被继承?

    结论:java中静态属性和静态方法可以被继承,但是没有被重写(overwrite)而是被隐藏. 原因: 1). 静态方法和属性是属于类的,调用的时候直接通过类名.方法名完成对,不需要继承机制及可以调用 ...

  3. mysql的unsigned属性负值报错和为0情况及mysql的严格模式

    最近发现在进行线程操作时,发现数据库的unsigned字段减为负数时并未报错而是变为0,因此去寻找解决方案,发现这和我的sql_mode有关. sql_mode MySQL服务器可以以不同的SQL模式 ...

  4. 有关linux中出现systemctl status network.service" and "journalctl -xe" for details.

    Job for network.service failed because the control process exited with error code >**[root@mina0 ...

  5. idou老师教你学Istio 18 : 如何用istio实现应用的灰度发布

    Istio为用户提供基于微服务的流量治理能力.Istio允许用户按照标准制定一套流量分发规则,并且无侵入的下发到实例中,平滑稳定的实现灰度发布功能. 基于华为云的Istio服务网格技术,使得灰度发布全 ...

  6. JVM指令集[转]

    http://blog.csdn.net/tccth4091/article/details/5833103 http://www.cnblogs.com/rollenholt/articles/21 ...

  7. 从客户端中检测到有潜在危险的 request.form值

    这里只说ASP.NET MVC的解决方法,ASP.NET已经不碰了. 给控制器加上[ValidateInput(false)]特性即可忽略含有HTML标记的内容. [HttpPost] [Valida ...

  8. elasticsearch查询:启动项目报错No property ... found for...Did you mean '...'?

    网上找的案例是: 实体类字段定义:private String sku_no;dao中接口名定义:Goods findBySkuNo(String skuNo);spring-data按照接口方法定义 ...

  9. k8s 命令自动补全

    yum install -y bash-completion source /usr/share/bash-completion/bash_completion source <(kubectl ...

  10. 03_mysql-python模块, linux环境下python2,python3的

    ---恢复内容开始--- 1.Python2 正常 [root@IP ~]# pip install mysql-python DEPRECATION: Python 2.7 will reach t ...