当前位置: 首页 > news >正文

官网网站系统仟亿网络科技工作室

官网网站系统,仟亿网络科技工作室,做外贸大大小小的网站有哪些,河南郑州房价1.adb shell 获取app 进程的pid adb shell "ps|grep com.xxx包名"根据某个渠道包,去查询对应的pid,如下所示: 2.通过adb shell 查看设备的java dalvik 堆内存的最大值 执行命令行: adb shell getprop dalvik.vm.h…

1.adb shell 获取app 进程的pid

adb shell "ps|grep com.xxx包名"

根据某个渠道包,去查询对应的pid,如下所示:
在这里插入图片描述

2.通过adb shell 查看设备的java dalvik 堆内存的最大值

执行命令行:

adb shell  getprop dalvik.vm.heapgrowthlimit

在这里插入图片描述
若是app进程中java heap(dalvik heap size) 堆内存超过384m 就会抛出oom.

若是app mainfest.xml 中设置了largeHeap=“true”,则app 进程dalvik heap limit 对应512m 限制。

在这里插入图片描述

3.查看app进程的物理rss、虚拟内存vss情况

adb shell procrank(需要手机 root 权限),可忽略该命令。

考虑使用Top 命令行格式:

adb shell top -n 1 |findstr "packageInfo"

以4399渠道包为案例,执行的adb shell top -n 1 |findstr "\<com.minitech.mixxxxx.m4399\> \<PID\>"
在这里插入图片描述
或者通过adb shel 查询进程status 方式:

执行命令格式:

adb shell  cat /proc/app的pid/status

在这里插入图片描述
注意点:在32位(非arm64位)下,app进程中虚拟内存的峰值时3G 多,比较容易触发oom 情况。

4.通过adb shell 命令行查看app进程中内存状况:

格式:

adb shell dumpsys meminfo [pkg/pid]

可以用来查看指定进程包名的内存使用情况
执行adb shell dumpsys meminfo com.minitech.xxxx.m4399, 可以清楚知道java heap 、native heap、数据库、asset 等 ,内存数值是以KB为单位。

C:\Users\hexingen>adb shell dumpsys meminfo com.minitech.xxx.m4399
Applications Memory Usage (in Kilobytes):
Uptime: 4282829 Realtime: 4282829** MEMINFO in pid 14622 [com.minitech.miniworld.m4399] **Pss  Private  Private  SwapPss     Heap     Heap     HeapTotal    Dirty    Clean    Dirty     Size    Alloc     Free------   ------   ------   ------   ------   ------   ------Native Heap   455496   455468        8        0   596992   484213   112777Dalvik Heap    26347    26328        0        0    45768    29384    16384Dalvik Other     6178     6176        0        0Stack     3844     3844        0        0Ashmem     5561     5092        0        0Other dev       28        0       28        0.so mmap    62819     5104    55760       36.jar mmap        4        0        4        0.apk mmap    49281     9980    38240        0.ttf mmap     1031        0      768        0.dex mmap    24272       16    24228        0.oat mmap     8604        0     3968        0.art mmap     3794     2224      588        2Other mmap     6361       20     6076        0GL mtrack   152964   152964        0        0Unknown    79528    79528        0        1TOTAL   886151   746744   129668       39   642760   513597   129161App SummaryPss(KB)------Java Heap:    29140 //java 堆所占用的物理内存Native Heap:   455468 //native 堆所占用的物理内存Code:   138068Stack:     3844Graphics:   152964Private Other:    96928System:     9739//app进程中占有物理内存(等于uss+按比列的共享库物理内存)TOTAL:   886151       TOTAL SWAP PSS:       39Objects // 进程中关键对象情况 ,activity \binder 个数,可看内存泄漏Views:      166         ViewRootImpl:        2AppContexts:        5           Activities:        4Assets:        7        AssetManagers:        4Local Binders:       71        Proxy Binders:       40Parcel memory:       40         Parcel count:      155Death Recipients:        2      OpenSSL Sockets:        8SQLMEMORY_USED:     1092PAGECACHE_OVERFLOW:      342          MALLOC_SIZE:       79DATABASES //进程中数据库db 打开情况pgsz     dbsz   Lookaside(b)          cache  Dbname4       40            480      222/96/23  /data/user/0/com.minitech.miniworld.m4399/databases/pangle_com.byted.pangle_bd_embed_tea_agent.db4       24             31         2/20/3  /data/user/0/com.minitech.miniworld.m4399/databases/tracker.db4       52             91       21/29/12  /data/user/0/com.minitech.miniworld.m4399/databases/bugly_db_4       92            200     478/108/25  /data/user/0/com.minitech.miniworld.m4399/databases/pangle_com.byted.pangle_ttopensdk.db4       24             98         1/37/4  /data/user/0/com.minitech.miniworld.m4399/databases/pangle_com.byted.pangle_downloader.db4       20             17         0/30/3  /data/user/0/com.minitech.miniworld.m4399/databases/pangle_com.byted.pangle_npth_log.db4       16             41        13/21/6  /data/user/0/com.minitech.miniworld.m4399/files/MobSDK/comm/dbs/.dhAsset Allocations  //进程中asset 打开情况: 1Kzip:/data/user/0/com.minitech.miniworld.m4399/files/pangle_p/com.byted.pangle/version-4908/apk/base-1.apk:/resources.arsc: 98K

一般情况下,仅需关注 Pss Total 和 Private Dirty 列。 在某些情况下,Private Clean 和 Heap Alloc 列提供的数据也值得关注。

接下来,详细分析下以上的数据:

查看java 堆内存使用
在这里插入图片描述
若是dalvik heap size 超过jvm 阀值(通常384M 或者512M)时,就会触发java heap 导致oom。

查看进程中pss 物理内存使用情况

  • Pss total : 占用的物理内存
  • Private Dirty: app进程死亡结束后,系统可回收的arm 物理内存
  • Private clean: 当前app进程中已被系统回收的arm 物理内存
    在这里插入图片描述
    若app 进程中pss 物理内存越来越大,系统中arm处理器的可用物理内存越来越少,直到可用物理内存不够分配时,就会触发oom。

查看内存泄漏

1.AppContexts 和 Activities和ViewRootImpl 表示当前 进程中context 个数和activity个数,根view视图(即phonewindow) 个数据,结合业务查看是否超过当前存在的个数,若是超过,则发生内存泄漏,被静态或者单例类所间接持有。
在java se 中被强引用的对象,是无法被回收的

更多adb shell dumpsys meminfo 详解:https://blog.51cto.com/u_4387387/6077172。

另外:/proc/pid/maps 和/proc/pid/smaps 通过adb shell 执行需要权限,暂时无法使用。
在这里插入图片描述

5.查看当前的手机系统内存情况:

执行adb shell cat /proc/meminfo ,可查看手机处理器内存 ,当前可用的内存
在这里插入图片描述
当MemAvailable 可用内存大小越来越少,直到耗尽就触发oom。

6.adb shell 获取内存快照hrop:

执行命令行:

adb shell am dumpheap package包名 /data/local/tmp/xxx.hprof

在这里插入图片描述
执行命令行,等待执行完。通过文件 浏览器或者studio的文件管理,找到该文件,双击打开,就可以查看到详细的内存快照。
在这里插入图片描述

http://www.yayakq.cn/news/755204/

相关文章:

  • 上海网站建设的价格是多少钱Audiology wordpress
  • 电子商务公司设计网站建设做三方网站多少钱
  • 高端网站设计报价表wordpress 三栏
  • 湘潭网站优化公司中国建材网站
  • 安全质量报监建设局网站自己做的网站图片不显示
  • 优秀企业建站做网站过程视频
  • 国外做家居类的网站制作手机网站什么软件
  • 网站宣传方案seo排名赚app官网
  • 百度联盟网站有哪些网站如何获取用户信任
  • 昆山规建设局网站网站建设与制作外包服务
  • h5商城网站怎么做分析北师大教育学原理网站建设
  • 全栈网站开发流行框架网站后台设置应注意什么
  • 像网站的ppt怎么做wordpress 稳定版
  • 网站建设中模做我的世界背景图的网站
  • 绵阳住房和城乡建设厅网站企业logo设计理念
  • 建站重庆永久免费的crm软件系统
  • 网站建设项目管理基本要求网站改版服务
  • 网站不能自行备案吗检察院门户网站建设工作成效
  • 怎么做网站板块襄樊做网站
  • 中国移动网站备案管理系统域名续费一般多少钱一年
  • 合肥专业做公司网站直播代运营收费多少
  • 平台类网站建设公司wordpress幻灯片回收站在哪
  • 门户类网站是什么意思superstore wordpress下载
  • 网站代码优化的内容有哪些wordpress tag 数量
  • 网站托管 济南百度统计流量研究院
  • 淄博网站建设多少钱北京商场面积排名
  • 12306网站谁建设的网页游戏开服表送首充
  • 幸福人寿保险公司官方网站wordpress 多站点 固定链接
  • 网站建设需准备什么软件3d建模怎么做
  • 郑州官方发布seo优化分析