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 .
  • 相关阅读:
    Find the Smallest K Elements in an Array
    Count of Smaller Number
    Number of Inversion Couple
    Delete False Elements
    Sort Array
    Tree Diameter
    Segment Tree Implementation
    Java Programming Mock Tests
    zz Morris Traversal方法遍历二叉树(非递归,不用栈,O(1)空间)
    Algorithm about SubArrays & SubStrings
  • 原文地址:https://www.cnblogs.com/111testing/p/8911993.html
Copyright © 2011-2022 走看看