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. Grassfire算法- 运动规划(Motion planning)

     Grassfire算法: 一.概念 这个算法是做图像处理的抽骨架处理,目的是求出图像的骨架,可以想象一片与物体形状相同的草,沿其外围各点同时点火.当火势向内蔓延,向前推进的火线相遇处各点的轨迹就是中 ...

  2. centos6/7启动故障排错

    centos6启动流程修复: 实验一:删除initramfs-2.6.32-754.el6.x86_64.img进行恢复 该文件很重要initramfs-2.6.32-754.el6.x86_64.i ...

  3. PP 各种快捷键

    内容识别 Shitf + F5 (留白填充) 内容识别比例 Alt + Shift +Ctrl +C 取消选区 Ctrl + D Alpha通道 左击 + Ctrl 锐化 先换成Lab颜色 在无颜色的 ...

  4. 10.Vue请求远端数据库

    代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8 ...

  5. python 学习笔记_3 输入字母,打印出要输入的星期几; 首字母无效,则继续输入,最多2次即可判断结果;否则退出。

    #coding=gbk ''' 输入字母,打印出要输入的星期几: 首字母无效,则继续输入,最多2次即可判断结果:否则退出. ''' week_list=['monday','tuesday','wed ...

  6. 配置基于centos下的远程Jupyter Notebook访问

    最近在学习一些服务器上的操作,学着熟悉Liunx系统,记录下自己踩过的坑吧 1.开机后更新系统: yum -y upgrade yum - y update 2.查看已安装的应用 yum list 3 ...

  7. MySQL内存结构

    实际上MySQL内存的组成和Oracle类似,也可以分为SGA(系统全局区)和PGA(程序缓存区). mysql>show variables like "%buffer%" ...

  8. 前端知识体系:JavaScript基础-原型和原型链-new一个对象的详细过程,手动实现一个 new操作符

    可以描述 new一个对象的详细过程,手动实现一个 new操作符 1. new 一个对象的详细过程:(原文地址) 首先我们看下new Person输出什么? var Person = function( ...

  9. 27-SQLServer系统扩展存储过程

    一.注意点 1.在SQLServer中,有些系统扩展存储过程,是有风险,需要取消public角色的执行权限. 2.从SQLServer2005开始就不能通过sp_dropextendedproc 删除 ...

  10. 大二小学期C#资产管理大作业小记

    说明 这个程序是我大二夏季学期(俗称小学期)用Visual Studio + C#写的<资产管理>大作业.这个项目非常简单,就是用C#写出一个UI界面,并连接数据库进行增删改查.这是我第一 ...