高通msm8994性能及温度监测脚本
[plain] view plain copy
startTime=$(date +%Y-%m-%d-%H-%M-%S)
pathName="/data/cpu_logs"
fileName="$pathName/CPUINFO_$startTime.csv"
# create dir
if [ ! -d $pathName ]; then
mkdir -p $pathName
chmod 777 $pathName
fi
#cat /proc/kmsg > /data/local/cpu_logs/1/SOC_kernel.log &
#cat /proc/kmsg > /data/SOC_kernel.log &
# write title to file
titleName="TIME,EMMC_THERM,POPMEM,CAMERA,MODEM,CPU0,CPU1,CPU2,CPU3,CPU4,CPU5,CPU6,CPU7,\
CPU0FREQ,CPU1FREQ,CPU2FREQ,CPU3FREQ,CPU4FREQ,CPU5FREQ,CPU6FREQ,CPU7FREQ,GPU0,GPU1,GPUFREQ,SOC,Bat_TEMP,Bat_current"
echo $titleName>> $fileName
while [ 1 ]; do
sleep 1
deltaTime=$(date +%H:%M:%S)
CPUONLINE=$(cat /sys/devices/system/cpu/online)
LCD=$(cat /sys/class/leds/lcd-backlight/brightness)
BMS=$(($(cat /sys/devices/virtual/thermal/thermal_zone0/temp) / 1000)) # change to C
Bat_TEMP=$(($(cat /sys/devices/virtual/thermal/thermal_zone1/temp) / 1000))
Hexagon1=$(cat /sys/devices/virtual/thermal/thermal_zone3/temp)
EMMC_THERM=$(cat /sys/devices/virtual/thermal/thermal_zone20/temp)
POPMEM=$(cat /sys/devices/virtual/thermal/thermal_zone4/temp)
CAMERA=$(cat /sys/devices/virtual/thermal/thermal_zone5/temp)
MDSS=$(cat /sys/devices/virtual/thermal/thermal_zone6/temp)
MODEM=$(cat /sys/devices/virtual/thermal/thermal_zone7/temp)
CPU0=$(cat /sys/devices/virtual/thermal/thermal_zone9/temp)
CPU1=$(cat /sys/devices/virtual/thermal/thermal_zone10/temp)
CPU2=$(cat /sys/devices/virtual/thermal/thermal_zone11/temp)
CPU3=$(cat /sys/devices/virtual/thermal/thermal_zone12/temp)
CPU4=$(cat /sys/devices/virtual/thermal/thermal_zone15/temp)
CPU5=$(cat /sys/devices/virtual/thermal/thermal_zone16/temp)
CPU6=$(cat /sys/devices/virtual/thermal/thermal_zone17/temp)
CPU7=$(cat /sys/devices/virtual/thermal/thermal_zone8/temp)
GPU0=$(cat /sys/devices/virtual/thermal/thermal_zone13/temp)
GPU1=$(cat /sys/devices/virtual/thermal/thermal_zone14/temp)
PM8994_TZ=$(($(cat /sys/devices/virtual/thermal/thermal_zone18/temp) / 1000))
Bat_current=$(cat /sys/class/power_supply/battery/current_now)
SOC=$(cat /sys/class/power_supply/battery/capacity)
GPUFREQ=$(($(cat /sys/class/kgsl/kgsl-3d0/gpuclk) / 1000)) # change to KHz
if [ -d /sys/devices/system/cpu/cpu0/cpufreq ]; then
CPU0FREQ=$(cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_cur_freq)
else
CPU0FREQ="0"
fi
if [ -d /sys/devices/system/cpu/cpu1/cpufreq ]; then
CPU1FREQ=$(cat /sys/devices/system/cpu/cpu1/cpufreq/scaling_cur_freq)
else
CPU1FREQ="0"
fi
if [ -d /sys/devices/system/cpu/cpu2/cpufreq ]; then
CPU2FREQ=$(cat /sys/devices/system/cpu/cpu2/cpufreq/scaling_cur_freq)
else
CPU2FREQ="0"
fi
if [ -d /sys/devices/system/cpu/cpu3/cpufreq ]; then
CPU3FREQ=$(cat /sys/devices/system/cpu/cpu3/cpufreq/scaling_cur_freq)
else
CPU3FREQ="0"
fi
if [ -d /sys/devices/system/cpu/cpu4/cpufreq ]; then
CPU4FREQ=$(cat /sys/devices/system/cpu/cpu4/cpufreq/scaling_cur_freq)
else
CPU4FREQ="0"
fi
if [ -d /sys/devices/system/cpu/cpu5/cpufreq ]; then
CPU5FREQ=$(cat /sys/devices/system/cpu/cpu5/cpufreq/scaling_cur_freq)
else
CPU5FREQ="0"
fi
if [ -d /sys/devices/system/cpu/cpu6/cpufreq ]; then
CPU6FREQ=$(cat /sys/devices/system/cpu/cpu6/cpufreq/scaling_cur_freq)
else
CPU6FREQ="0"
fi
if [ -d /sys/devices/system/cpu/cpu7/cpufreq ]; then
CPU7FREQ=$(cat /sys/devices/system/cpu/cpu7/cpufreq/scaling_cur_freq)
else
CPU7FREQ="0"
fi
echo "$deltaTime,$EMMC_THERM,$POPMEM,$CAMERA,$MODEM,$CPU0,$CPU1,$CPU2,$CPU3,$CPU4,$CPU5,$CPU6,$CPU7,\
$CPU0FREQ,$CPU1FREQ,$CPU2FREQ,$CPU3FREQ,$CPU4FREQ,$CPU5FREQ,$CPU6FREQ,$CPU7FREQ,$GPU0,$GPU1,$GPUFREQ,$SOC,$Bat_TEMP,$Bat_current">> $fileName
echo "$deltaTime,$EMMC_THERM,$POPMEM,$CAMERA,$MODEM,$CPU0,$CPU1,$CPU2,$CPU3,$CPU4,$CPU5,$CPU6,$CPU7,\
$CPU0FREQ,$CPU1FREQ,$CPU2FREQ,$CPU3FREQ,$CPU4FREQ,$CPU5FREQ,$CPU6FREQ,$CPU7FREQ,$GPU0,$GPU1,$GPUFREQ,$SOC,$Bat_TEMP,$Bat_current"
done
高通msm8994性能及温度监测脚本的更多相关文章
- 高通msm8994启动流程简介
处理器信息 8994包含如下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(Hexa ...
- 高通msm8994启动流程简单介绍
处理器信息 8994包括例如以下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(He ...
- 高通msm8994手动提升性能脚本
点击打开链接 [plain] view plain copy stop thermald stop mpdecision stop thermal-engine # online A57 echo 1 ...
- 【转】高通平台android 环境配置编译及开发经验总结
原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...
- 针对高通BMS的研究 高通电量计
点击打开链接 高通8064 8974 8926等pm芯片都集成了电量计,估计后续芯片都会一直存在,现在许多项目UI状态栏电池都有百分比显示,所以需要深入分析BMS有助于解决电量方面的BUG. 一: S ...
- 科普:WiFi是谁申请的专利?高通吗?错!
你给Wi-Fi交过专利费吗?你知道Wi-Fi是谁申请的专利吗? 答:肯定是高通! 错! Wi-Fi技术由澳洲政府的研究机构CSIRO在90年代发明并于1996年在美国成功申请了无线网技术专利.(US ...
- 高通/苹果/联发科:手机CPU那些事
如今人们买手机,都比较关心采用了什么CPU,因为CPU直接决定了这台手机的性能,CPU之于手机就好比人的大脑,它是整台手机的控制中枢系统,也是逻辑部分的控制中心.又相当于车的发动机,发动机越强劲,车子 ...
- 手机低端市场,联发科 vs 高通
联发科(MTK) 是山寨机的源头,我过去曾经鄙视他,现在来了180度转弯. 其实联发科是台湾的上市公司,手机如此复杂的东西,当年 联发科能把基础的手机做出来,而后小山寨厂改改外形,配件就能出若干款手机 ...
- 高通msm8909耳机调试
http://blog.csdn.net/mike8825/article/details/69489865?locationnum=3&fps=1 1.DTS相应修改: DTS相关代码:ke ...
随机推荐
- [HNOI2016]最小公倍数
题目描述 给定一张N个顶点M条边的无向图(顶点编号为1,2,...,n),每条边上带有权值.所有权值都可以分解成2a∗3b2^a*3^b2a∗3b 的形式. 现在有q个询问,每次询问给定四个参数u.v ...
- bzoj 4919: [Lydsy六月月赛]大根堆
Description 给定一棵n个节点的有根树,编号依次为1到n,其中1号点为根节点.每个点有一个权值v_i. 你需要将这棵树转化成一个大根堆.确切地说,你需要选择尽可能多的节点,满足大根堆的性质: ...
- SpringBoot学习之mvc
Spring Boot非常适合Web应用程序开发. 我们可以使用嵌入式Tomcat,Jetty或Undertow轻松创建自包含的HTTP服务器. 大多数Web应用程序将使用spring-boot-st ...
- spring 自定义事件发布及监听(简单实例)
前言: Spring的AppilcaitionContext能够发布事件和注册相对应的事件监听器,因此,它有一套完整的事件发布和监听机制. 流程分析: 在一个完整的事件体系中,除了事件和监听器以外,还 ...
- HL7工具安装步骤
下载目录:http://gforge.hl7.org/gf/ 说明:在安装HL7V3学习工具之前,确保本机已安装IIS服务和Access数据库. 各种软件见附件. 1.下载安装步骤 RIM模型下载 ...
- Java线程池使用和常用参数
多线程问题: 1.java中为什么要使用多线程使用多线程,可以把一些大任务分解成多个小任务来执行,多个小任务之间互不影像,同时进行,这样,充分利用了cpu资源. 2.java中简单的实现多线程的方式 ...
- bash的工作特性及其使用方法
bash的工作特性之命令执行状态返回值和命令展开所涉及的内容及其示例演出 !脚本执行与调试1.绝对路径执行,要求文件有执行权限2.以sh命令执行,不要求文件有执行权限3..加空格或source命令执行 ...
- java中的final和volatile详解
相比synchronized,final和volatile也是经常使用的关键字,下面聊一聊这两个关键字的使用和实现 1.使用 final使用: 修饰类表示该类为终态类,无法被继承 修饰方法表示该方法无 ...
- CF | Alyona and Mex
Someone gave Alyona an array containing n positive integers a1, a2, ..., an. In one operation, Alyon ...
- Java内存泄漏分析系列之二:jstack生成的Thread Dump日志结构解析
原文地址:http://www.javatang.com 一个典型的thread dump文件主要由一下几个部分组成: 上图将JVM上的线程堆栈信息和线程信息做了详细的拆解. 第一部分:Full th ...