• 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:进程参数信息

  • 相关阅读:
    Response生成注册验证码实现例子02
    Mysql 自增字段起始值auto_increment的修改方法
    elite核心库的加载方式及自动加载类库
    elite核心类库之事件类
    wamp速度缓慢的解决办法
    Dwzdialog中批量提交的问题处理
    PHP中缀表达式与逆波兰式的计算(用于工资项目等四则计算)
    PHP工资计算之逆波兰式
    elite核心类库之模板类
    PHP soap访问接口出错汇总及解决办法
  • 原文地址:https://www.cnblogs.com/zxh06820/p/14665051.html
Copyright © 2020-2023  润新知