1.可以使用adb shell showmap pid查看一个进程的showmap,这对于我们来说非常有用,可以确定进程中哪些库占用内存比较多

1,确定app进程号,通过jarvis过滤,ps-A显示全部进程

ps命令使用
cmd通过adb shell进入与移动设备的命令交互界面。 然后使用ps指令, 最常用的是ps -aux和ps -ef与grep混合用, 筛选要查找的进程信息ps -ef|grep "筛选的进程字符" adb shell ps|more 显示全部进程信息(加|more为了分页显示)

筛选需要的进程信息 adb shell ps -ef |findstr "筛选进程信息" ps: adb shell ps -ef |findstr "baidu"

g6sa:/ # ps -A | grep jarvis
ps -A | grep jarvis
u0_a37       21979  2223 3858620 193980 SyS_epoll_wait      0 S cn.alios.jarvisd
u0_a47       22750  2223 3829168 172756 SyS_epoll_wait      0 S com.ebanma.jarvis

2,showmap

可以通过adb shell showmap 22750 > log7.txt 将info保存到日志里

adb shell showmap 22750virtual                     shared   shared  private  privatesize      RSS      PSS    clean    dirty    clean    dirty     swap  swapPSS   # object
-------- -------- -------- -------- -------- -------- -------- -------- -------- ---- ------------------------------336      336      103      336        0        0        0        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/base.apk44       44       44        0        0       36        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libBroadcastSignal.so44       44       44        0        0       36        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libCarVapiSignal.so268      268      268        0        0      252       16        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libCosmoSignal.so96       88       88        0        0       80        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libDistributeActuator.so592      356      356        0        0      340       16        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libLbsFenceActuator.so164      164      164        0        0      152       12        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libLbsSignal.so44       44       44        0        0       36        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libMapSignal.so48       48       48        0        0       40        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libStatusActuator.so52       52       52        0        0       44        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libStatusSignal.so56       56       56        0        0       48        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libalios_log.so20       20       20        0        0       12        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libatrace.so348      244      244        0        0      228       16        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libbase.so892      656      656        0        0      620       36        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libc++_shared.so1904     1012     1012        0        0      848      164        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libcrypto.so40       40       40        0        0       32        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libfreexl.so1684      732      732        0        0      668       64        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libgeos.so464       68       68        0        0       64        4        0        0    2 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libicudata.so1416      724      724        0        0      680       44        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libidot.so21960    15624    15624        0        0    15136      488        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libjarvis_engine.so936      916      916        0        0      880       36        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libjarvis_items.so360      352      352        0        0      336       16        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libjarvisbase.so140       68       68        0        0       64        4        0        0    2 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libjarvisdlzma.so1472      248      248        0        0      204       44        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libjarvisdxml2.so88       72       72        0        0       64        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libjarvisdz.so84       84       84        0        0       76        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libjarvisjniloader.so168      160      160        0        0      152        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libjsoncpp.so304       76       76        0        0       64       12        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libproj.so32       32       32        0        0       24        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libproperties.so1220     1136     1136        0        0     1108       28        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libsgmainso-5.4.193.so5204      128      128        0        0      112       16        0        0    2 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libspatialite.so1324     1160     1160        0        0     1140       20        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libsqlite3.so164      164      164        0        0      156        8        0        0    3 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/lib/arm64/libuv.so4        4        4        0        0        4        0        0        0    1 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/oat/arm64/base.art72       72       72        0        0       68        4        0        0    4 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/oat/arm64/base.odex3540     3028     3028        0        0     3028        0        0        0    1 /data/app/com.ebanma.jarvis-49tUzEJIztwJUQdjlSRzhg==/oat/arm64/base.vdex17152    17108     1784    14300     1412        0     1396        0        0    3 /data/dalvik-cache/arm64/system@framework@boot.art

2.dumpsys meminfo分析

Applications Memory Usage (in Kilobytes):
Uptime: 11439815 Realtime: 11439815** MEMINFO in pid 22750 [com.ebanma.jarvis] **Pss  Private  Private  SwapPss     Heap     Heap     HeapTotal    Dirty    Clean    Dirty     Size    Alloc     Free------   ------   ------   ------   ------   ------   ------Native Heap    14246    14188        0        0    20480    14419     6060Dalvik Heap     2342     2004        0        0     3901     1951     1950Dalvik Other      893      892        0        0                           Stack       44       44        0        0                           Ashmem        2        0        0        0                           Other dev       13        0       12        0                           .so mmap    26613     1404    23732        0                           .apk mmap      383        0       12        0                           .ttf mmap       23        0        0        0                           .dex mmap     3926        8     3336        0                           .oat mmap      910        0        0        0                           .art mmap     1722     1392        4        0                           Other mmap      190        4       36        0                           GL mtrack     7005     7005        0        0                           Unknown     1666     1628        0        0                           TOTAL    59978    28569    27132        0    24381    16370     8010App SummaryPss(KB)------Java Heap:     3400Native Heap:    14188Code:    28492Stack:       44Graphics:     7005Private Other:     2572System:     4277TOTAL:    59978       TOTAL SWAP PSS:        0ObjectsViews:       19         ViewRootImpl:        1AppContexts:        5           Activities:        1Assets:        3        AssetManagers:        0Local Binders:       22        Proxy Binders:       31Parcel memory:        9         Parcel count:       38Death Recipients:        6      OpenSSL Sockets:        5WebViews:        0SQLMEMORY_USED:        0PAGECACHE_OVERFLOW:        0          MALLOC_SIZE:      117

3,cpu占用率分析

top -d 5 | grep 17618   设置top频率5s一次

top -d 5 | grep 17618
18101 shell        20   0 8.8M 6.2M 1.8M S  0.0   0.1   0:00.01 grep 17618
17618 u0_a56       10 -10 3.6G 169M 134M S  0.0   3.2   0:03.64 com.ebanma.jarv+
17618 u0_a56       10 -10 3.6G 169M 134M S  0.6   3.2   0:03.64 com.ebanma.jarv+
[H[JTasks: 356 total,   1 running, 286 sleeping,   0 stopped,   1 zombie
17618 u0_a56       10 -10 3.6G 171M 134M S  0.6   3.2   0:03.70 com.ebanma.jarv+
17618 u0_a56       10 -10 3.6G 175M 134M S  0.8   3.3   0:03.77 com.ebanma.jarv+
[H[JTasks: 358 total,   2 running, 287 sleeping,   0 stopped,   1 zombie
17618 u0_a56       10 -10 3.6G 170M 134M S  0.4   3.2   0:03.83 com.ebanma.jarv+
17618 u0_a56       10 -10 3.6G 170M 134M S  0.4   3.2   0:03.86 com.ebanma.jarv+
18217 shell        20   0 8.8M 6.2M 1.9M S  0.4   0.1   0:00.01 grep 17618
[H[JTasks: 357 total,   2 running, 287 sleeping,   0 stopped,   1 zombie
18101 shell        20   0 8.8M 6.2M 1.8M S  0.2   0.1   0:00.01 grep 17618

也可查看占用cpu最高的前10个程序(-t 显示进程名称,-s 按指定行排序,-n 在退出前刷新几次,-d 刷新间隔,-m 显示最大数量):
top -m 10 -s 9     (数字9代表按照cpu占用率排序,-s后面只能跟数字)

做cpu占用率测试时需要执行一些命令辅助我们测试,比如每隔500ms发一次广播,可以借助脚本:

while true
doadb shell am broadcast -a android.intent.action.openTinyAppp -e data datavaluesleep 0.5secho '+++++++++++++++++++'
done

Android查看app内存和cpu占用相关推荐

  1. Android Q app内存压缩优化方案介绍

    Android Q app内存压缩优化方案介绍 原创文章,谢绝转载! Android Q新增了部分系统性能优化方案,这里简单学习下,本篇文章先分析app compaction. 一.愿景: 在保证后台 ...

  2. Android性能测试——获取内存和cpu使用情况

    Android性能测试--获取内存和cpu使用情况 在测试Android应用的过程中,内存和cpu值大小是测试的重点之一,本文将列举几种工作中常用的获取方式. 一.使用top获取内存和cpu信息 获取 ...

  3. Ubuntu查看系统内存和CPU运行情况

    Ubuntu下可以使用top命令查看当前内存和CPU使用情况 如下图 输入时主要参数 d:指定更新的间隔,以秒计算. q:没有任何延迟的更新.如果使用者有超级用户,则top命令将会以最高的优先序执行. ...

  4. Android 查看App冷启动时间/热启动时间/页面打开时间

    Android 查看App冷启动时间/热启动时间/页面打开时间 冷启动时间 热启动时间 页面打开时间 通过adb查看 adb shell am start -W packageName/Activit ...

  5. ubuntu下查看电脑内存硬盘CPU显卡驱动等配置命令

    ubuntu16.04查看电脑内存硬盘CPU显卡驱动等配置命令 按Ctrl+Alt+T键,调出终端窗口. 1.内存总大小:free -m mem:后面的 total 栏显示你的内存总大小. 如图:内存 ...

  6. win10msmpeng占内存_微软win10吃内存,CPU占用高,没有优化好?做好这3点系统快如飞...

    随着win7更新关闭日期的到来,还剩两天时间了,届时微软将不在为win7提供补丁了,安全问题就会日益严重,尽管win7使用起来很省内存,CPU占用不高,但安全问题大于一切,使用win10就成了大多数网 ...

  7. android查看存储占用,Android获取App内存使用情况的方法

    1.代码获取当前app内存的使用情况 ActivityManager activityManager = (ActivityManager) getSystemService(ACTIVITY_SER ...

  8. 查看服务器内存、CPU、网络等占用情况的命令--汇总

    搭建测试环境过程中,需要对正在使用的aws服务器(实际这是一台虚拟出来的服务器),查看它在运行脚本,启动脚本时的内存,CPU,网络等使用情况 1.查看服务器cpu内核个数: -cat 每个物理cpu中 ...

  9. Linux查看内存和CPU占用排名前10相关

    查看内存占比占用最多前十排名 ps auxw|head -1;ps -auxf|sort -nr -k4|head -10 查看CPU占比占用最多前十排名 ps auxw|head -1;ps -au ...

最新文章

  1. dropdownlist绑定的二种方法
  2. soapui工具_python接口自动化(四)--接口测试工具介绍(详解)
  3. java文件用editplus乱码,EditPlus设置编码后,编译时仍然出现乱码
  4. 如何使用CSS创建巧妙的动画提示框
  5. gdb vscode 不进入断点_VScode配置MASM32运行环境(断点/运行/debug/配合emu8086(非DOSBox))...
  6. FOI冬令营 Day2
  7. python如何创建txt_如何通过读取.txt文件为每个键创建包含多个“列表”的Python字典?...
  8. SQL Server数据库中的T-SQL如果存在语句概述
  9. HTML语言的一些元素(二)
  10. visual studio-wdk8.1+vs2013中使用winusb模版开发usb设备驱动
  11. php 调用redfish,Huawei iBMC 通过redfish接口设置KVM key登录html5远程控制台操作记录
  12. IBM刀片服务器虚拟化方案
  13. TUIO学习笔记2-TUIO C++ Reference Implementation and Demo Application参考实现和Demo程序(图片版,防查重)
  14. 积分器-微分器-抽取器
  15. 对于java文件不能访问的情况分析
  16. 继电器触点RC吸收电路
  17. 如何查看有关计算机系统类型,电脑系统类型在哪查看
  18. QT从入门到入土(三)——信号和槽机制
  19. PCIE--1--概念认知
  20. adams功能区不显示_2019新版PPT,不知道这7个新功能,怎么做好幻灯片?

热门文章

  1. 第五篇《三只小猪——后篇》
  2. 【UE4】Debug 游戏
  3. php去掉第一个空格,php怎么去除前面空格
  4. VS2015 安装VA番茄插件
  5. 2021年起重机械指挥考试及起重机械指挥考试题库
  6. JavaScript基本运算符
  7. android java教程_[Java教程]Android开发快速入门
  8. svg 编码设置_如何手动编码SVG
  9. 什么是UV贴图和展开?没有他们3D建模会变成什么样?
  10. NLP常用损失函数代码实现——SoftMax/Contrastive/Triplet/Similarity