[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性能及温度监测脚本的更多相关文章

  1. 高通msm8994启动流程简介

    处理器信息 8994包含如下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(Hexa ...

  2. 高通msm8994启动流程简单介绍

    处理器信息 8994包括例如以下子系统: 子系统 处理器 含义 APSS 4*Cortex-A53 应用子系统 APSS 4*Cortex-A57 应用子系统 LPASS QDSP6 v5.5A(He ...

  3. 高通msm8994手动提升性能脚本

    点击打开链接 [plain] view plain copy stop thermald stop mpdecision stop thermal-engine # online A57 echo 1 ...

  4. 【转】高通平台android 环境配置编译及开发经验总结

    原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...

  5. 针对高通BMS的研究 高通电量计

    点击打开链接 高通8064 8974 8926等pm芯片都集成了电量计,估计后续芯片都会一直存在,现在许多项目UI状态栏电池都有百分比显示,所以需要深入分析BMS有助于解决电量方面的BUG. 一: S ...

  6. 科普:WiFi是谁申请的专利?高通吗?错!

    你给Wi-Fi交过专利费吗?你知道Wi-Fi是谁申请的专利吗? 答:肯定是高通! 错! Wi-Fi技术由澳洲政府的研究机构CSIRO在90年代发明并于1996年在美国成功申请了无线网技术专利.(US ...

  7. 高通/苹果/联发科:手机CPU那些事

    如今人们买手机,都比较关心采用了什么CPU,因为CPU直接决定了这台手机的性能,CPU之于手机就好比人的大脑,它是整台手机的控制中枢系统,也是逻辑部分的控制中心.又相当于车的发动机,发动机越强劲,车子 ...

  8. 手机低端市场,联发科 vs 高通

    联发科(MTK) 是山寨机的源头,我过去曾经鄙视他,现在来了180度转弯. 其实联发科是台湾的上市公司,手机如此复杂的东西,当年 联发科能把基础的手机做出来,而后小山寨厂改改外形,配件就能出若干款手机 ...

  9. 高通msm8909耳机调试

    http://blog.csdn.net/mike8825/article/details/69489865?locationnum=3&fps=1 1.DTS相应修改: DTS相关代码:ke ...

随机推荐

  1. 【BZOJ3506】【Cqoi2014】排序机械臂

    传送门(因为BZOJ上没有题面...所以放的是luogu的) 题意:你需要维护一个序列,支持区间翻转与查询区间最小. 解题思路:由于区间最小实际上每一次就是对应的整个数列的第k小,因此可以直接预处理解 ...

  2. [BZOJ]4199: [Noi2015]品酒大会(后缀数组+笛卡尔树)

    Time Limit: 10 Sec  Memory Limit: 512 MB Description Input Output Sample Input 10 ponoiiipoi 2 1 4 7 ...

  3. 【UOJ UNR #1】火车管理

    来自FallDream的博客,未经允许,请勿转载,谢谢. 题面 考虑用可持久化线段树直接维护每个点在不同时刻,第一辆车的编号. 这样3操作就变成了区间赋值,1操作变成区间和 2操作的话,只需要查询一下 ...

  4. 配置mysql使其允许外部ip进行登录

    这两天在做一个数据库的项目,用到了mysql,需要通过外部的ip远程访问mysql,发现默认的mysql是不允许远程访问的,需要做简单的配置. 如下: 1. 打开一个终端(cmd)输入 mysql - ...

  5. SpringBoot学习之自动依赖

    在前面使用SSM集成时,我们可以使用注解实现无配置化注入,但是这种依赖被进行“人工干预了的”,换句话就是说我们手动进行装配,那么此时还没有达到SpringBoot这种自动装配的效果,那么究竟Sprin ...

  6. springmvc上传文件方法及注意事项

    本文基于注解的配置,敬请留意  基于注解整合 一.springmvc为我们提供两种上传方式配置: org.springframework.web.multipart.commons.CommonsMu ...

  7. sklearn.model_selection 的 train_test_split作用

    train_test_split函数用于将数据划分为训练数据和测试数据. train_test_split是交叉验证中常用的函数,功能是从样本中随机的按比例选取train_data和test_data ...

  8. cpu,核,进程与线程

    多进程与多线程 一张图,先来回顾一下并行,并发,串行: 一.多核多线程 当我们要去买一台新电脑时,我们一般都会比较多台电脑的配置,而其中一项关键配置就是几核几线程.一般现在很多电脑都是4核8线程,甚至 ...

  9. A TensorBoard plugin for visualizing arbitrary tensors in a video as your network trains.Beholder是一个TensorBoard插件,用于在模型训练时查看视频帧。

    Beholder is a TensorBoard plugin for viewing frames of a video while your model trains. It comes wit ...

  10. 使用JdbcTemplate 操作PostgreSQL,当where条件中有timestamp类型时,报错operator does not exist: timestamp w/out timezone

    今天遇到一个问题,找了还半天,Google一下,官网显示是一个bug. 思考一番肯定是类型出了问题. Controller: Service:转化时间戳 Dao: 一波转换搞定!