adb shell 内存参数详解

2023-11-03

摘自https://www.cnblogs.com/zl1991/p/6644998.html,感谢原创作者!!!

1、adb shell  procrank

  PID       Vss            Rss             Pss         Uss           cmdline
32657  2254196K  372752K  238947K  217168K  com.ss.android.article.news
25910  1474016K  269968K  166146K  148592K  com.tencent.mobileqq
25331  1341776K  245164K  139794K  129040K  com.job.android
 1362  2730296K  204944K  134820K  128236K  system_server

从以上打印可以看出,一般来说内存占用大小有如下规律:VSS>= RSS >= PSS >= USS

  • VSS - Virtual Set Size虚拟耗用内存(包含共享库占用的内存)是单个进程全部可访问的地址空间
  • RSS - Resident Set Size实际使用物理内存(包含共享库占用的内存)是单个进程实际占用的内存大小,对于单个共享库,尽管无论多少个进程使用,实际该共享库只会被装入内存一次。
  • PSS - Proportional Set Size实际使用的物理内存(比例分配共享库占用的内存)
  • USS - Unique Set Size进程独自占用的物理内存(不包含共享库占用的内存)USS是一个非常非常有用的数字,因为它揭示了运行一个特定进程的真实的内存增量大小。如果进程被终止,USS就是实际被返还给系统的内存大小。USS是针对某个进程开始有可疑内存泄露的情况,进行检测的最佳数字。怀疑某个程序有内存泄露可以查看这个值是否一直有增加。


2、使用dumpsys meminfo查看内存信息(主要看PSS实际使用的物理内存)

1)adb shell dumpsys meminfo
Applications Memory Usage (in Kilobytes):
Uptime: 131906712 Realtime: 353812965

Total PSS by process:
    276,504K: com.ss.android.article.news (pid 32657 / activities)
    210,447K: com.tencent.mobileqq (pid 25910 / activities)
    155,494K: com.gionee.amisystem (pid 2732 / activities)
    146,896K: com.android.systemui (pid 1718 / activities)
    143,721K: com.job.android (pid 25331 / activities)
    133,167K: system (pid 1362)
    100,832K: com.hupu.games (pid 31886 / activities)
     93,864K: com.tencent.mobileqq:tool (pid 3538)
     87,357K: com.android.settings (pid 25507 / activities)
     84,131K: com.baidu.input_gionee (pid 27694)
     79,149K: com.tencent.mm (pid 31414)
    ************************************************
Total PSS by OOM adjustment:
    233,722K: Native
         41,724K: surfaceflinger (pid 385)
         36,643K: cameraserver (pid 542)
         15,773K: audioserver (pid 540)
          9,159K: vtservice (pid 519)
          7,495K: mediaserver (pid 550)
          5,683K: zygote (pid 539)
          5,648K: teei_daemon (pid 341)
          5,616K: zygote64 (pid 538)
          5,445K: logd (pid 344)
          5,247K: media.codec (pid 520)
          4,926K: mtk_agpsd (pid 533)
          4,812K: mtkmal (pid 383)
          4,565K: media.extractor (pid 549)
          3,624K: rilproxy (pid 1125)
          3,585K: mnld (pid 531)
          3,359K: mtkrild (pid 948)
           
     ************************************
    133,167K: System
        133,167K: system (pid 1362)
    371,643K: Persistent
        146,896K: com.android.systemui (pid 1718 / activities)
         44,705K: com.android.camera (pid 2647)
         42,521K: com.antiy.securityprovider (pid 2495)
        ****************************
    210,447K: Foreground
        210,447K: com.tencent.mobileqq (pid 25910 / activities)
     91,537K: Visible
         31,634K: com.tencent.mobileqq:MSF (pid 1509)
         24,939K: com.tencent.mobileqq:TMAssistantDownloadSDKService (pid 27540)
         20,909K: com.tencent.android.location (pid 2820)
          7,237K: android.ext.services (pid 24105)
          6,818K: com.gionee.gnwakeup (pid 2280)
    115,448K: Perceptible
         84,131K: com.baidu.input_gionee (pid 27694)
         31,317K: com.gionee.secureime (pid 6059)
    201,759K: Home
        155,494K: com.gionee.amisystem (pid 2732 / activities)
         34,807K: com.gionee.amisystem.yourpage (pid 3287)
         11,458K: com.amigo.ai.engine (pid 3407)
    117,498K: A Services
         35,875K: com.job.android:pushcore (pid 1079)
         30,969K: com.gionee.softmanager:remote (pid 2476)
         27,539K: com.ss.android.article.news:push (pid 1292)
         23,115K: com.ss.android.article.news:pushservice (pid 1334)
     13,758K: Previous
         13,758K: com.gionee.providers.weather (pid 23136)
    801,842K: B Services
        276,504K: com.ss.android.article.news (pid 32657 / activities)
        143,721K: com.job.android (pid 25331 / activities)
         59,550K: com.gionee.softmanager (pid 18770 / activities)
         44,166K: com.gionee.systemmanager (pid 27845)
         35,700K: com.hupu.games:monitorService (pid 32250)
         34,504K: com.hupu.games:pushservice (pid 31976)
         33,736K: com.job.android:pushservice (pid 25416)
         32,966K: com.tencent.mm:push (pid 32346)
  ********************************************
    663,301K: Cached
        100,832K: com.hupu.games (pid 31886 / activities)
         93,864K: com.tencent.mobileqq:tool (pid 3538)
         87,357K: com.android.settings (pid 25507 / activities)
         79,149K: com.tencent.mm (pid 31414)
         64,416K: com.android.mms (pid 1453 / activities)
         44,393K: android.process.acore (pid 2471)
         39,333K: com.gionee.amisystem.yourpage:com.cn.xy (pid 31725)
         25,239K: com.tencent.mobileqq:peak (pid 2682)
         23,745K: com.android.calendar (pid 31804)
      *************************

Total PSS by category:
    688,642K: Native
    569,096K: Dalvik
    414,971K: .dex mmap
    257,564K: .art mmap
    223,664K: GL mtrack
    215,430K: .so mmap
    211,283K: Unknown
    137,938K: Dalvik Other
     72,846K: .apk mmap
    *************************

Total RAM: 5,707,832K (status normal)
 Free RAM: 2,591,901K (  663,301K cached pss + 1,348,580K cached kernel +   240,536K free +    46,512K ion cached +   292,972K gpu cached)
 Used RAM: 3,456,977K (2,290,821K used pss + 1,098,256K kernel +    32,768K trace buffer +    35,132K ion disp +         0K cma usage)
 Lost RAM:  -341,046K
   Tuning: 256 (large 512), oom   322,560K, restore limit   107,520K (high-end-gfx)

2)查看某个app的内存信息

adb shell dumpsys meminfo com.tencent.mobileqq



Android程序内存被分为2部分:native和dalvik,dalvik就是我们平常说的java堆,我们创建的对象是在这里面分配的,而bitmap是直接在native上分配的,对于内存的限制是 native+dalvik 不能超过最大限制。Android程序内存一般限制在16M,当然也有24M的。

size: 总内存(物理内存、虚拟内存)大小(kb);

Allocated:已分配的内存代销(kb)

Free:表示剩余内存大小(kb)

PrivateDirty:非共享的,又不能放入disk的内存能大小。
从上信息对于分析内存泄露,内存溢出都有极大的作用,从以上信息可以看到该应用程序占用的native和dalvik,当TOTAL 16407 11792 12860 22275 18459 2003超过内存最大限制时会出现OOM错误。





本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

adb shell 内存参数详解 的相关文章

随机推荐

  • mysql查询每个学生最高分_mysql查询各班最高分学生的信息

    学生表student 班级表class 课程表subject 成绩表score 一 查询各班最高分学生的信息 1 从成绩表score中查询每个学生的总成绩并按降序排列 select sc stu id sum sc score sumsco
  • 小程序图片懒加载放在服务器,【小程序】使用uni-app搭建小程序环境---图片懒加载...

    延迟加载的理念 页面初始化时 暂不加载处于屏幕可见区域之外的图片 该方案会有如下几大好处 n加快页面渲染速度 n提升页面滚动性能 n默认不下载屏幕外的图片 减少网络流量 主标题 列表二级标题 exportdefault data varim
  • 手写Android事件分发

    Android事件分发原理搞清楚可以辅助我们解决很多实际项目中遇到的事件冲突等问题 1 进入正题之前 问大家几个事件相关的问题 标签 dispatchTouchEvent Q1 Android点击事件传递规则是怎样的 下面几步仔细阅读2遍
  • Gradle基础知识

    转自 https blog csdn net xingzhong128 article details 80290166 前言 随着业务需求变得越来越复杂 项目的规模也变得越来越大 项目越大包含的代码资源文件也就越多 而越大的项目往往需要越
  • 图书管理系统(包含找回密码、设置密保等) C语言

    目录 一 需求分析 二 概要设计 1 程序设计框架 2 数据结构 3 模块函数划分 三 详细设计 1 main主函数 2 主菜单函数 3 密保 4 管理员登录 5 修改管理员账号和密码 6 录入图书 7 输出图书 8 修改图书 9 删除图书
  • android-studio undefined reference to `__android_log_print

    最近在使用android studio编译安卓程序 要用到jni 我在jni源码中引用了 android log print 且在Android mk中加了LOCAL LDLIBS llog 但是编译时还是会出现如下错误 Error 82
  • PHP 实现抽奖功能

    1 场景 商品抽奖 用户参与抽奖后 分享页面给新用户 并且新用户也参与抽奖 然后为上个用户增加一次抽奖码 2 问题 用户获得的抽奖码机会只为了增加自己的中奖概率 一次活动的产品一个用户只 能中一次 public function index
  • 00天精通Python(基础篇)——第10天:字符串格式化

    文章目录 python中常用的数据类型占位 示例 示例代码 python中常用的数据类型占位 示例 占位符 变量 占位符 s d f 我们可以通过如下语法 完成字符串和变量的拼接 示例代码 name 科比 time 2006 score 8
  • getCurrentInstance

    https blog csdn net m0 46318298 article details 130726043 注 是在vue中所有实例中都可用的一个简单约定 这样做会避免和已被定义的数据 方法 计算属性产生冲突
  • ‘pip’不是内部或外部命令---Python+OpenCV配置过程中常见问题

    1 用pip进行安装时 输入pip命令会提示 pip 不是内部或外部命令 在python安装目录中找得到script文件夹 查看文件夹内部是否存在pip3 exe这个文件 下面以我的电脑为例 如果没有 在命令行输入 python m ens
  • stream, parser, 文法的一些概念

    stream就是个Iterable
  • leaftlet入门教程一

    1 实时输出坐标 监听 mousemove 事件 map on mousemove e gt let latlng e latlng console log latlng lat 30 59 lng 114 32 取消 mousemove
  • 全球及中国废钢市场发展机遇与十四五运行潜力调研报告2022版

    全球及中国废钢市场发展机遇与十四五运行潜力调研报告2022版 修订日期 2021年11月 搜索鸿晟信合研究院查看官网更多内容 第一章 废钢相关概述 1 1 废钢基本概念 1 1 1 废钢的定义 1 1 2 废钢的来源 1 1 3 废钢的分类
  • 开源进展

    作为连接实体对象 人或物 的现实身份与链上身份的可信映射 实现实体对象之间安全可信的数据授权与交换 分布式身份技术解决方案在推动区块链应用繁荣及可信数据流转的过程中扮演着重要角色 WeIdentity是由微众银行自主研发并完全开源的一套分布
  • Failed to execute ‘pushState‘ on ‘History‘: function nextWeek(now)......

    我在使用react跳转页面传参数时 报了上述错误 具体代码为 原因 saveData里面存在函数 我在传值的时候 参数里面有时间格式的数据 里面包含函数 所以不能跳转 需要把时间格式的数据转换成字符串或其他形式 我转换成了YYYY MM D
  • C++基础-基础数据类型

    目录 类型简介 整型 整型类型宽度 整型类型取值范围 如何选择适合的整型 整型字面量 整型字面量的表示形式 如何确定整型字面量的类型 本节了解即可 char类型 char类型的符号 字符字面量 bool类型 浮点类型 浮点数内部存储方式简介
  • 干货分享

    在企业数字化转型的过程中 尤其随着互联网 云计算 大数据等信息技术与通信技术的迅猛发展 海量数据在各种信息系统上被存储和处理 其中包含大量有价值的敏感数据 这意味着数据泄露的风险也不断增加 数据泄露可能由各种因素引起 包括恶意攻击 黑客入侵
  • Android RecycleView列表使用GridLayoutManager 均分子项Item,且左右宽度相同

    1 需求描述 列表分为一列两个 两个子项宽度一致 且左右边距一样 就是要好看 子项宽度适配手机 高度适配宽度 2 问题描述 但是我们直接设置的时候 他的子项会在给他的布局的左边 于是我想到了设置下子项的左右边距 但是android手机屏幕太
  • realtek

    https download csdn net download haoTaoshu 12770808 ops request misc 257B 2522request 255Fid 2522 253A 25221687097687168
  • adb shell 内存参数详解

    摘自https www cnblogs com zl1991 p 6644998 html 感谢原创作者 1 adb shell procrank PID Vss Rss Pss Uss cmdline 32657 2254196K 372