zoukankan      html  css  js  c++  java
  • adb shell top 命令

    原文地址https://blog.csdn.net/kittyboy0001/article/details/38562515

    原文地址https://blog.csdn.net/u010503912/article/details/51518705

    adb shell top

    top命令提供了实时的对系统处理器的状态监视.它将显示系统中CPU最“敏感”的任务列表.该命令可以按CPU使用.内存使用和执行时间对任务进行排序.

    top 用法

    >adb shell top -h
    Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [-t ] [ -h ]
        -m num  Maximum number of processes to display. 最多显示多少个进程
        -n num  Updates to show before exiting.  刷新次数 
        -d num  Seconds to wait between updates. 刷新间隔时间(默认5秒)
        -s col  Column to sort by (cpu,vss,rss,thr). 按哪列排序 
        -t      Show threads instead of processes. 显示线程信息而不是进程
        -h      Display this help screen.  显示帮助文档 

    adb shell top

    > adb shell top
    
    User 13%, System 5%, IOW 0%, IRQ 0%
    User 85 + Nice 0 + Sys 37 + Idle 509 + IOW 0 + IRQ 0 + SIRQ 0 = 631
    
      PID PR CPU% S  #THR     VSS     RSS PCY UID      Name
    22205  0  13% S    56 423416K  88160K  fg u0_a92   com.tmall.wireless
    24310  1   2% R     1   1232K    536K     root     top
    22600  0   1% S    46 341712K  40872K  fg u0_a90   com.wandoujia.phoenix2.usbproxy
    31125  1   1% S    31 319976K  33284K  fg u0_a74   com.android.Chinpower
     1533  0   1% S    32  67320K  20552K  fg system   /system/bin/surfaceflinger
     1852  0   1% S   112 445876K  80304K  fg system   system_server
        ...
       10  0   0% S     1      0K      0K     root     watchdog/0
       16  1   0% S     1      0K      0K     root     khelper
       22  1   0% S     1      0K      0K     root     suspend_sys_syn
       23  1   0% S     1      0K      0K     root     suspend
    第一组数据的含义: User 处于用户态的运行时间,不包含优先值为负进程 Nice 优先值为负的进程所占用的CPU时间 Sys 处于核心态的运行时间 Idle 除IO等待时间以外的其它等待时间 IOW IO等待时间 IRQ 硬中断时间 SIRQ 软中断时间
    第二组数据的含义: PID 进程id PR 优先级 CPU
    % 当前瞬时CPU占用率 S 进程状态:D=不可中断的睡眠状态, R=运行, S=睡眠, T=跟踪/停止, Z=僵尸进程 #THR 程序当前所用的线程数 VSS Virtual Set Size 虚拟耗用内存(包含共享库占用的内存) RSS Resident Set Size 实际使用物理内存(包含共享库占用的内存) PCY 调度策略优先级,SP_BACKGROUND/SP_FOREGROUND UID 进程所有者的用户id Name 进程的名称

    具体信息可以查看源代码中: xxsystemcore oolbox op.c

    监控CPU的命令使用实战

    >adb shell top  | findstr tmall > d:cpu.txt   
    打印 top命令,并查找 包含 tmall的命令行,输出至 d:cpu.txt
    
    result:
    
    22137  1   0% S    10 304728K  28900K  bg u0_a92   com.tmall.wireless:push
    
    22205  0   0% S    15 322944K  38236K  bg u0_a92   com.tmall.wireless
    
    22205  1  27% R    34 345304K  49396K  fg u0_a92   com.tmall.wireless
    
    22112  1   0% S     9 303704K  29380K  bg u0_a92   com.tmall.wireless:containerprocess1
    
    22137  1   0% S    10 304728K  28900K  bg u0_a92   com.tmall.wireless:push
    
    22252  1   0% S     9 302600K  28596K  fg u0_a92   com.tmall.wireless:notify
    
    22205  0  45% R    40 365500K  56708K  fg u0_a92   com.tmall.wireless
    
    22252  0  22% S    19 325476K  40868K  bg u0_a92   com.tmall.wireless:notify
    
    22137  0   2% S    14 308944K  31320K  fg u0_a92   com.tmall.wireless:push
    
    22112  0   0% S     9 305892K  29888K  bg u0_a92   com.tmall.wireless:containerprocess1
    
    22137  1  14% S    17 323080K  39696K  bg u0_a92   com.tmall.wireless:push
    
    22252  0   3% S    21 327656K  41556K  bg u0_a92   com.tmall.wireless:notify
    
    22205  1   2% S    38 366420K  59700K  fg u0_a92   com.tmall.wireless
    
    22112  0   0% S     9 305892K  29888K  bg u0_a92   com.tmall.wireless:containerprocess1
    
    22408  0   0% R     9 278424K  21936K  fg u0_a92   com.tmall.wireless:utremote
    
    22408  1   7% S     9 304180K  30964K  bg u0_a92   com.tmall.wireless:utremote
    
    22205  0   2% R    39 367456K  59612K  fg u0_a92   com.tmall.wireless


    ======================================================================================================

    android调试之top指令查看系统资源

    近日,由于客户自己开发的应用软件在我们定制的android设备(定制OS)上运行的时候出现了黑屏重启问题,在确定问题之前,我们需要对客户反馈的bug现象进行复现。由于刚开始时对客户的软件功能等信息了解不多,测试的时候很难复现bug现象,在一次测试打印机的打印功能的时候,无意中发现打印机连续打印的时候容易造成CPU资源消耗过大,甚至因此导致系统重启(软件无反应,5s后看门狗重启系统)。为了有效地排除CPU资源消耗问题,对top指令进行了研究,本文不会面面俱到地谈top指令各种参数的使用,而是选择部分比较实用的参数来谈谈调试的一些技巧。
    在 ubuntu 系统输入top -h,可以看到 top 的使用方法。
    omj@pc-ubuntu:~$top -h
    procps-ng version 3.3.9
    Usage:
    top -hv | -bcHiOSs -d secs -n max -u|U user -p pid(s) -o field -w [cols]
     
    这里我们主要是谈 top 指令在 android 系统下的使用,所以首先要用 usb 线连接PC和设备,然后进入android设备的 shell,查看 top 指令的相关用法。
     
    查看android设备是否被PC机识别:
    omj@pc-ubuntu:~$adb devices
    List of devices attached
    d111a8ac device
     
    进入android设备的shell:
    omj@pc-ubuntu:~$adb shell
    root@msm8610:/ #
    查看 top 指令的帮助菜单:
    root@msm8610:/ #top -h
     
     
    从帮助菜单可以看出,PC级别的系统的 top 指令和 android 设备的 top 指令的使用方法还是有点区别的。
     
    top指令查看进程资源:
    root@msm8610:/ #top
     
    每隔 3s 更新一次显示:
    root@msm8610:/ #top -d 3
     
    按cpu大小列出5个进程列表:
    root@msm8610:/ #top -m 5
     
     
    根据进程的名字使用 grep 指令过滤输出 "com.hcb.parking" 进程的信息(图中实际上是每隔 1s 输出一次信息):
    root@msm8610:/ #top -d 1 | grep "com.hcb.parking"
     
     
     
    查看"com.hcb.parking" 应用(或者说"com.hcb.parking" 进程)中所有线程的CPU等信息:
    root@msm8610:/ #top -d 1 -t | grep "com.hcb.parking"
     
     
    每间隔 3s 将 "com.hcb.parking" 进程的CPU 信息保存到文件:
    root@msm8610:/ #top -d 3 | grep "com.hcb.parking" > /data/topinfo.txt &
     
    从android设备中将上一步保存的 topinfo.txt 日志信息复制出来(该命令是在退出adb shell 之后执行的):
    omj@pc-ubuntu:~/work$ adb pull /data/topinfo.txt .
  • 相关阅读:
    【编程基础】const与#define的区别
    【Unity3D】模仿制作“神庙逃亡”吃金币后金币飞出屏幕效果
    【基础数学】素数判定、素数打表
    【NYOJ-187】快速查找素数—— 枚举法、筛选法、打表法
    【基础数学】质数,约数,分解质因数,GCD,LCM
    【NYOJ-35】表达式求值——简单栈练习
    【UVa-679】小球下落——二叉树的编号
    【UVa-442】矩阵链乘——简单栈练习
    【UVa-514】铁轨——栈的学习
    gitignore git提交忽略文件
  • 原文地址:https://www.cnblogs.com/111testing/p/8911993.html
Copyright © 2011-2022 走看看