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

Android adb shell命令分析应用内存占用

Android adb shell命令分析应用内存占用

不同方式:

1、打印某个具体应用的内存占用信息:

adb shell dumpsys meminfo 包名

2、以内存为标准,周期性打印排名top 10的应用,还有CPU等信息:

adb shell top -m 10 -s 1 -d 1 -o %CPU,%MEM,TIME+,PID,COMMAND,CMDLINE

3、只打印目标应用,根据包名。

adb shell top -n 1 | findstr "应用的包名"

输出的一行日志中,包含VSS和RSS内存。

● VSS- Virtual Set Size 虚拟耗用内存(包含共享库占用的内存)
● RSS- Resident Set Size 实际使用物理内存(包含共享库占用的内存)

例如:

29682 u0_a172      10 -10  22G 1.7G 1.1G R  403  24.4   1:49.45 应用的包名

1.7G是VSS,1.1G是RSS。

4、其中,adb shell top比较实用。

命令的相关参数:

-m max_procs 最多显示max_procs个进程
-n num    刷新num次数
-d num    刷新间隔时间num秒(默认5秒)
-s col    按col(cpu,vss,rss,thr)排序
-t Show threads instead of processes. 显示线程信息而不是进程

比如:

adb shell top -m 10 -s 6  -d 1 

最多10个进程。每个1秒刷新一次。按照第6列(-s 6)排名,内存。

Uptime    表示启动到现在的时长,不包含休眠的时间,单位毫秒(ms)    
Realtime    表示启动到现在的时长,包含休眠的时间,单位毫秒(ms)

Android卡顿丢帧低内存与adb shell内存状态_android kswapd0-CSDN博客文章浏览阅读751次,点赞5次,收藏5次。通常kswapd0占用大核,而且是满频在跑,耗电、温升,如果此时有前台应用主线程跑到与kswapd0相同的核上,很大可能会出现 cpu 竞争,导致调度不到而丢帧卡顿。系统中有些内存虽然已被使用但是可以回收的,比如cache/buffer,有一部分可以回收,所以MemFree不能代表全部可用的内存,这部分可回收的内存加上MemFree才是系统可用的内存,即:MemAvailable ≈ MemFree + Buffers + Cached,是一个估计值。表示系统尚未使用的内存。MemFree:空闲内存数。_android kswapd0 https://blog.csdn.net/zhangphil/article/details/138819422adb shell top -m 10 -s 1 -d 1 -o %CPU,%MEM,TIME+,PID,COMMAND,CMDLINE_adb shell top -m 10 -s cpu-CSDN博客文章浏览阅读689次。文章介绍了如何使用ADBShell命令来获取Android设备的CPU信息、监控进程以及进行系统跟踪。具体包括`adbshelltop`命令的不同参数如-m,-s,-d和-o的用法,以及如何将结果保存到文件。此外,还提到了`dumpsysactivityactivities`用于dump当前活动,和如何捕获systemtrace文件。 https://zhangphil.blog.csdn.net/article/details/131412814Android adb shell命令捕获systemtrace_android 抓trace-CSDN博客文章浏览阅读3k次,点赞2次,收藏10次。本文介绍了如何使用adbshell命令配合perfetto工具来捕获Android设备的systemtrace文件,包括设置跟踪时长、保存文件路径、将文件从设备拉取到电脑以及通过PerfettoUI分析trace文件。这个过程对于性能优化和问题排查非常有用。 https://blog.csdn.net/zhangphil/article/details/131249820

卡顿丢帧分析adb shell命令_adb 丢帧率分析-CSDN博客文章浏览阅读780次,点赞5次,收藏3次。Android ADB调试真机设备Android ADB(Andorid Debug Bridge),是Android开发中有用的测试和调试工具。使用Android ADB调试设备,直接在Windows的dos命令窗口输入命名adb即可,如图:为什么执行adb命令后是这样?Android ADB(Andorid Debug Bridge)调试真机设备_adb在线执行器_zhangphil的博客-CSDN博客。-t 时长,20s,20秒的trace文件。_adb 丢帧率分析 https://blog.csdn.net/zhangphil/article/details/137919380

http://www.xdnf.cn/news/19912.html

相关文章:

  • 2025全国大学生数学建模C题保姆级思路模型(持续更新):NIPT 的时点选择与胎儿的异常判定
  • Trae + MCP : 一键生成专业封面——从概念到落地的全链路实战
  • java对接物联网设备(一)——使用okhttp网络工具框架对接标准API接口
  • SVN和Git两种版本管理系统对比
  • Hunyuan-MT-7B模型介绍
  • 使用Vue.js和WebSocket打造实时库存仪表盘
  • window使用ffmep工具,加自定义脚本执行视频转码成h264(运营人员使用)
  • P13929 [蓝桥杯 2022 省 Java B] 山 题解
  • 第三方网站测评:【WEB应用文件包含漏洞(LFI/RFI)的测试步骤】
  • 神经网络模型介绍
  • LeetCode 3132.找出与数组相加的整数2
  • 机器学习算法在Backtrader策略稳定性中的作用分析
  • pytorch可视化工具(训练评估:Tensorboard、swanlab)
  • c#编写的应用程序调用不在同一文件夹下的DLL
  • OpenLayers 入门篇教程 -- 章节三 :掌控地图的视野和交互
  • 下一代自动驾驶汽车系统XIL验证方法
  • 【Doris入门】Doris数据表模型使用指南:核心注意事项与实践
  • select, poll, epoll
  • PyTorch 损失函数与优化器全面指南:从理论到实践
  • 论文理解:Reflexion: Language Agents with Verbal Reinforcement Learning
  • 【正则表达式】 正则表达式运算法优先级的先后是怎么排序的?
  • 【Pytest】解决Pytest中Teardown钩子的TypeError:实例方法与类方法的调用差异
  • Java中最常用的设计模式
  • Mysql主从复制之延时同步
  • 【Linux基础】Linux系统管理:深入理解Linux运行级别及其应用
  • 面经分享二:Kafka、RabbitMQ 、RocketMQ 这三中消息中间件实现原理、区别与适用场景
  • 笔记:卷积神经网络(CNN)
  • VS2015+QT编译protobuf库
  • 【倒计时2个月】好•真题资源+专业•练习平台=高效备赛2025初中古诗文大会
  • 达人数据导出:小青苔如何让达人数据管理效率飙升?