zoukankan      html  css  js  c++  java
  • APP性能及安全方面的学习(二)

    1. CPU使用率

      CPU执行非系统空闲进程的时间 / CPU总的执行时间

      CPU使用率 = (用户态Jiffies + 系统态Jiffies)/总Jiffies

      Jiffies代表时间,单位是1/HZ

    2. CPU测试方法

      adb命令

        使用top命令查看哪些进程是 CPU的主要消耗者

        adb shell top -h 

          使用findstr命令获取某个应用的CPU占用率

        adb shell top -m 100 -n 1 -d 1 -s cpu | findstr 进程名称(com.xxx.xxx)

          显示100进程数,刷新1次,间隔1秒,按cpu使用排序显示

    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 sortby(cpu,vss,rss,thr).  按哪列排序
    -t Show threads instead of processes.  显示线程信息而不是进程
    -h Display this help screen.  显示帮助文档

    top 命令的参数

       参数含义

      第一行:

        Tasks:整体的统计信息

          202 total:所有启动的进程数

          1 running:正在运行的进程数

          201 sleeping: 挂起的进程数

          0 stoped: 停止的进程数

          0 zombie:僵尸进程数

      第二行:

        Mem:内存统计信息

          物理内存总数

          已使用的物理内存

          空闲物理内存

          内核缓存内存量

      第三行:

        Swap:虚拟内存统计信息

          交换区总量

          已使用交互区总量

          空闲交换区总量

          缓冲的交换区总量

      第四行:

        %cpu:用户空间占用CPU百分比

        %user:处于用户态的运行时间,不包含优先值为负进程

        %nice: 内核空间占用CPU百分比 

        %sys:用户空间内改变优先级的进程占用CPU百分比

        %idle:空闲CPU百分比

        %iow:等待输入输出CPU时间百分比

        %irq:CPU服务于硬件中断所耗费的时间总额

        %sirq:CPU服务软件中断所耗费的时间总额

        %host:  Steal Time

       实际内存计算: free + (buffers + cached)

       程序已用内存数:used – (buffers + cached)

      还有:

        User:处于用户态的运行时间,不包含优先值为负进程

        Nice:优先值为负的进程所占用的cpu时间

        Sys:处于核心态的运行时间

        idle:除IO等待时间以外的其他等待时间

        iow:IO等待时间

        irq:硬件中断时间

        PID:进程ID

        USER:进程所有者

        PR:优先级

        NI:nice值,实时进程的nice值为0,普通进程的nice值范围为-20~19

        VIRT:虚拟内存  进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES

        RES:常驻内存  进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA

        SHR:共享内存  单位kb

        S:进程状态 (D=不可中断的睡眠状态,R=运行,S=睡眠,T=跟踪/停止,Z=僵尸进程)

        %CPU: 上次更新到现在的CPU时间占用百分比

        %MEM: 进程使用的物理内存百分比

        TIME+:进程使用的CPU时间总计,单位1/100秒

        ARGS:进程参数信息

  • 相关阅读:
    bzoj 5455
    hdu 6705
    hdu 6706
    斜率优化
    bzoj3672
    bzoj1367
    bzoj2118
    bzoj2337
    Codeforces 1077D Cutting Out(二分答案)
    Codeforces 1079C Playing Piano(记忆化搜索)
  • 原文地址:https://www.cnblogs.com/zxh06820/p/14665051.html
Copyright © 2011-2022 走看看