zoukankan      html  css  js  c++  java
  • Instruments_Activity Monitor使用入门

    Activity Monitor,官方解释为:(活动监视器)即实时显示CPU、内存和网络的使用情况,记录由虚拟内存大小测量的系统负载。用一句大白话来说,Activity Monitor类似Windows中的任务管理器,可以实时查看进程占用的CPU、内存的使用量。
     
    一、Activity Monitor的介绍和大致使用
    具体操作步骤,
    首先从Xcode中运行Instruments,在顶部的菜单栏中,选择Product,选择Profile(快捷键:Command + I)。会调用Instruments,选择Activity Monitor 模板


    Activity Monitor打开之后是这个样子,所有都是空的
     
     当运行的设备和运行的app都准备好了,我们开始运行Activity Monitor,点击左上角的红色圆点按钮,开始记录手机中CPU和内存的使用情况,得到下图:
    我们分析一下这些图的意思:
    %CPU:不同进程对CPU的占比
    CPU Time:CPU运行时间
    Real Memory Usage:进程使用的内存量,用了饼状图和柱状图展示
     
    上图只是这些数据的大概结果我们可以去查看具体的数据,点击上图4个任意自己想要查看信息的图片,分析的结果有4种分析结果【Summary、Parent Child、Samples、Console】,我们一个个来分析
     
    (1)Summary(Summary of data) ---------Process(进程)使用内存、CPU使用时长等摘要信息
    其中参数的含义如下:                             
    process id ——进程id 
    process name ——进程名 
    user name——用户名
    %CPU——cpu占比
    threads——线程
    real mem——真正使用的内存 
    virtual mem——虚拟内存
    architecture——架构 
    cpu time——CPU时间 
    sudden term——突然项(N/A:不适用) 
     
    (2)Parent Child(

    parent child information)-----父进程和子进程的关系,以及各个进程的概要信息

     
     它的参数与Summary是一样的,内容也是一样的。但是它具有层级关系(即父子关系),子进程在父进程的下一层级。(父进程上,可以展开、关闭它的所有子进程)
     
    (3)Samples(a list of samples) ----一系列抽样(即不同时间,CPU使用时间、内存使用情况的样本值)
    参数的含义如下:
    • Physical Memory Wired——操作系统占用的内存
    • Physical Memory Active——除操作系统外其它进程占用的内存
    • Physical Memory Inactive——最近被释放的内存
    • Physical Memory Used——profiling当前进程时使用的总内存
    • Physical Memory Free——当前的可用内存
    • Total VM Size——虚拟内存的占用量 
     
    (4)Console,即控制台输出的日志(Log)信息
     
    提示:
    Activity Monitor默认配置了在Timeline面板中显示的内容,包括TotalVMSizeCPUTotalLoadCPUUserLoadCPUSystemLoad,在使用时可以根据自己的需要选择相关的分析内容进行显示,并且不同的内存使用部分可以使用不同的颜色加以区分,下面就是Activity Monitor在使用过程中的界面截图,在右下角可选择内存相关的分析内容。

    下面我们将根据需要,对Activity Monitor监控的内容进行分类介绍:
      
    二、Activity Monitor监控内存使用情况

    Examining Memory Usage with the Activity Monitor Trace Template

    The Activity Monitor trace template monitors overall system activity and statistics, including CPU, memory, disk, and network. It consists of the Activity Monitor instrument only, although you can add additional instruments to a trace document you’ve created with the template, if you desire. You’ll see later that the Activity Monitor is also used to monitor network activity on iOS devices.

    The Activity Monitor instrument captures information about the load on the system measured against the virtual memory size. It can record information from a single process or from all processes running on the system. The Activity Monitor instrument provides you with four convenient charts for a quick, visual representation of the collected information. The two charts that specifically describe memory usage are:

    Real Memory Usage (bar graph). Shows the top five real memory users in a bar graph.

    Real Memory Usage (pie chart). Shows the top five real memory users with the total memory used displayed.

    下图为Activity Monitor instrument with charts

    The Record Settings area in the inspector sidebar includes a list of system statistics, which can be configured to appear in the track pane and graphically represent collected data. Select a statistic’s checkbox to see it graphed in the track pane. Click the shape or the color well to change how a statistic appears in the track pane.

    There are a number of statistics the Activity Monitor instrument supports, but the following ones are memory-specific:

    Physical Memory Wired

    Physical Memory Active

    Physical Memory Inactive

    Physical Memory Used

    Physical Memory Free

    Total VM Size

    VM Page In Bytes

    VM Page Out Bytes

    VM Swap Used

    If one of the statistics above doesn’t appear under System Statistics, locate it under “Select statistics to list” and click its checkbox to include it in the list. 

     
    三、Activity Monitor监控CPU情况 
    There are a number of statistics the Activity Monitor instrument supports, but the following ones are memory-specific:

    CPUTtotalLoad
    CPUUserLoad
    CPUSystemLoad
    CPUNiceLoad

    If one of the statistics above doesn’t appear under System Statistics, locate it under “Select statistics to list” and click its checkbox to include it in the list. 
    下图为Activity Monitor instrument tracing CPU packets
     
    四、Activity Monitor监控网络情况 

    By default, the Activity Monitor template isn’t set up to display network activity. Therefore, you need to enable the desired network-related statistics in the Record Settings area in the inspector sidebar for the Activity Monitor instrument to see which processes are sending and receiving information.

    There are a number of statistics the Activity Monitor instrument supports, but the following ones are network-specific:

    Net Packets In
    Net Bytes In
    Net Packets Out
    Net Bytes Out
    Net Packets In Per Second

    Net Packets Out Per Second

    Net Bytes In Per Second

    Net Bytes Out Per Second

    If one of the statistics above doesn’t appear under System Statistics in the Record Settings inspector, locate it under “Select statistics to list” and click its checkbox to include it in the list. 

    Once you have gathered network activity for your app, examine it carefully to pinpoint areas where your app is sending out excessive amounts of information and therefore tying up valuable device resources. When you minimize the amount of information sent and received, you can benefit from increased performance and response times in your app.

    下图为Activity Monitor instrument tracing network packets

     

     
     
     
    参考以下文章:
  • 相关阅读:
    如何在原生微信小程序中实现数据双向绑定
    【推荐】开源项目minapp-重新定义微信小程序的开发
    iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 规范与部署
    iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 错误处理
    系列3|走进Node.js之多进程模型
    手把手教你撸一个 Webpack Loader
    iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 记录日志
    React Native 网络层分析
    如何实现VM框架中的数据绑定
    iKcamp|基于Koa2搭建Node.js实战(含视频)☞ 解析JSON
  • 原文地址:https://www.cnblogs.com/JuneWang/p/4789910.html
Copyright © 2011-2022 走看看