Openharmony 对应Android内存查看
众所周知,内存查看是一个很重要的部分,大多数情况,我们都是使用dumpsys的方法对android的内存进行查看,但是对于openharmony而言好像又不太一样了。
Android内存查看
命令行:
adb shell dumpsys meminfo <packageName>
得到的结果:
Applications Memory Usage (in Kilobytes):
Uptime: 99398 Realtime: 99398** MEMINFO in pid 2328 [com.android.systemui] **Pss Private Private Swap Rss Heap Heap HeapTotal Dirty Clean Dirty Total Size Alloc Free------ ------ ------ ------ ------ ------ ------ ------Native Heap 187950 187932 0 0 190616 198260 188316 5017Dalvik Heap 31234 31188 0 0 35336 39483 9871 29612Dalvik Other 4064 3988 0 0 5016Stack 1148 1148 0 0 1160Cursor 24 24 0 0 24Ashmem 58 48 0 0 148Gfx dev 2356 2356 0 0 2360Other dev 51 0 48 0 292.so mmap 4500 284 204 0 52188.jar mmap 1367 0 0 0 30820.apk mmap 22278 8 17296 0 83456.ttf mmap 1498 0 480 0 3492.dex mmap 26859 32 26824 0 26952.oat mmap 577 0 0 0 15592.art mmap 2004 1792 0 0 20176Other mmap 384 32 96 0 3928EGL mtrack 23720 23720 0 0 23720GL mtrack 28804 28804 0 0 28804Unknown 783 780 0 0 1512TOTAL 339659 282136 44948 0 339659 237743 198187 34629App SummaryPss(KB) Rss(KB)------ ------Java Heap: 32980 55512Native Heap: 187932 190616Code: 45136 212756Stack: 1148 1160Graphics: 54880 54884Private Other: 5008System: 12575Unknown: 10664TOTAL PSS: 339659 TOTAL RSS: 525592 TOTAL SWAP (KB): 0ObjectsViews: 1531 ViewRootImpl: 9AppContexts: 19 Activities: 0Assets: 21 AssetManagers: 0Local Binders: 378 Proxy Binders: 124Parcel memory: 37 Parcel count: 138Death Recipients: 5 OpenSSL Sockets: 0WebViews: 0SQLMEMORY_USED: 328PAGECACHE_OVERFLOW: 58 MALLOC_SIZE: 117DATABASESpgsz dbsz Lookaside(b) cache Dbname4 32 48 7/17/2 /data/user_de/0/com.android.systemui/databases/keyguard_db24 28 25 9/21/2 /data/user_de/0/com.android.systemui/databases/notificationdata.db
我们可以很清楚地看到对应该报名的应用的PSS,Private Clean,Private等信息,一般最主要关注的就是第一行和Total,总的每一项的Total占用多少KB,以及PSS的Total每一项都包括哪些内容。
OpenHarmony内存查看
我们都知道hdc shell进去之后并不存在dumpsys的命令,但是如果open harmony后续应用的话,内存管理这一块是绕不过的,所以找了好多资料,终于找到了对应的方法。
友情链接: OpenAtom OpenHarmony
命令行:
hdc shell hidumper --mem <pid>
得到的结果:
-------------------------------[memory]-------------------------------Pss Shared Shared Private Private Swap SwapPss Heap Heap HeapTotal Clean Dirty Clean Dirty Total Total Size Alloc Free( kB ) ( kB ) ( kB ) ( kB ) ( kB ) ( kB ) ( kB ) ( kB ) ( kB ) ( kB )--------------------------------------------------------------------------------------------------------------------------------------------GL 48 0 0 0 48 0 0 0 0 0Graph 0 0 0 0 0 0 0 0 0 0ark ts heap 2402 0 1376 0 2304 480 45 0 0 0guard 0 0 0 0 0 0 0 0 0 0native heap 183266 152 2724 1268 181768 5148 923 91764 86108 5127
AnonPage other 315730 88 564 56 315620 1752 124 0 0 0stack 1240 0 0 0 1240 20 20 0 0 0.hap 8268 0 0 8268 0 0 0 0 0 0.so 52657 38520 3256 39524 6876 6000 358 0 0 0dev 12 0 140 12 0 0 0 0 0 0
FilePage other 19 252 40 0 0 4 4 0 0 0
----------------------------------------------------------------------------------------------------------------------------------------------------------Total 565116 39012 8100 49128 507856 13404 1474 91764 86108 5127native heap:heap: 60 0 0 0 60 28 28 0 0 0brk heap: 552 0 924 200 300 64 48 0 0 0jemalloc heap: 182654 152 1800 1068 181408 5056 847 0 0 0Purgerable:PurgSum:0 kBPurgPin:0 kBDMA:Dma:73920 kB
这里面的内容同dumpsys meminfo的内容并不太一样,不过分析方法也一样,可以一一对应下,最重要的还是第一列和最后Total一行。
相关文章:
Openharmony 对应Android内存查看
众所周知,内存查看是一个很重要的部分,大多数情况,我们都是使用dumpsys的方法对android的内存进行查看,但是对于openharmony而言好像又不太一样了。 Android内存查看 命令行: adb shell dumpsys meminfo <packag…...
R语言【paleobioDB】——pbdb_interval():通过ID选择,返回一个地层年代段的基本信息
Package paleobioDB version 0.7.0 paleobioDB 包在2020年已经停止更新,该包依赖PBDB v1 API。 可以选择在Index of /src/contrib/Archive/paleobioDB (r-project.org)下载安装包后,执行本地安装。 Usage pbdb_interval (id, ...) Arguments 参数【id】…...
spring boot mybatis plus mapper如何自动注册到spring bean容器
##Import(AutoConfiguredMapperScannerRegistrar.class) ##注册MapperScannerConfigurer ##MapperScannerConfigurer.postProcessBeanDefinitionRegistry方法扫描注册mapper ##找到mapper候选者 ##过滤mapper 类 候选者 ##BeanDefinitionHolder注册到spring 容器...
What is `@PathVariable` does?
PathVariable 是SpringMVC中的注解,用于将HTTP请求的URI路径变量映射到Controller方法参数上。 当URL路径中包含占位符(由大括号 {} 包围的部分)时,可以使用此注解来绑定这些动态部分到方法参数。 使用样例 获取单个路径变量 …...
如何利用小程序介绍公司品牌形象?
企业小程序的建设对于现代企业来说已经成为了一项必不可少的工作。随着移动互联网的快速发展,越来越多的职场人士和创业老板希望通过小程序来提升企业形象,增强与用户的互动,实现更好的商业效果。在这个过程中,使用第三方制作平台…...
[C#]使用sdcb.paddleocr部署v4版本ocr识别模型
【官方框架地址】 https://github.com/sdcb/PaddleSharp 【算法介绍】 PaddleOCR,全称为PaddlePaddle OCR,是PaddlePaddle深度学习平台下的一款强大的光学字符识别工具。它利用深度学习技术,实现了高精度的文字识别,可以帮助用户…...
Echarts图表如何利用formatter自定义tooltip的内容和样式
在展示多数据图表的时候 有的时候需要图例也展示出一些内容来,例如官方这样子:鼠标悬停的时候展示该点数据 但是,官方提供的样式有时不适用所有的开发场景 我的项目需要实现鼠标悬停在某一点的时候,只展示该条线的数据࿰…...
Ceph源码分析-s->req_id = store->svc()->zone_utils->unique_id(req->id)
s->req_id store->svc()->zone_utils->unique_id(req->id); 涉及到指针和对象方法的调用。我会逐步为你解释这行代码的含义。 s->req_id ...; s 是一个指针,它指向一个结构或类。req_id 是该结构或类的一个成员变量。这行代码的意思是ÿ…...
Unity中的异步编程【7】——在一个异步方法里播放了animation动画,取消任务时,如何停止动画播放
用一个异步方法来播放一个动画,正常情况是:动画播放结束时,异步方法宣告结束。那如果我提前取消这个异步任务,那在这个异步方法里面,我要怎么停止播放呢?! 一、播放animation动画的异步实现 1…...
vue3中ref和reactive联系与区别以及如何选择
vue3中ref和reactive区别与联系 区别 1、ref既可定义基本数据类型,也可以定义引用数据类型,reactive只能定义应用数据类型 2、ref在js中取响应值需要使用 .value,而reactive则直接取用既可 3、ref定义的对象通过.value重新分配新对象时依旧…...
面试宝典之spring框架常见面试题
F1、类的反射机制有啥用? (1)增加程序的灵活性,可扩展性,动态创建对象。 (2)框架必备,任何框架的封装都要用反射。(框架的灵魂) F2、获取Class对象的三种方…...
建筑垃圾处理行业分析:正在被越来越广泛的运用
建筑垃圾处理,是将固体废弃物作为再生资源重新利用的一种方式。建筑垃圾是在对建筑物实施新建、改建、扩建或者是拆除过程中产生的固体废弃物。建筑垃圾一般可分为建设废物、拆除垃圾及装修垃圾。因此建筑垃圾处理行业可以分为建设废物处理、拆除垃圾处理、装修垃圾…...
【DIY summaries on Linux】
DIY Linux summaries 1) difference between ways of creation file and edit files1.1) echoecho talk to yourself touch 1) difference between ways of creation file and edit files 1.1) echo ###) > echo talk to yourself touch...
Redis(概述、应用场景、线程模式、数据持久化、数据一致、事务、集群、哨兵、key过期策略、缓存穿透、击穿、雪崩)
目录 Redis概述 应用场景 Redis的线程模式 数据持久化 1.Rdb(Redis DataBase) 2.Aof(Append Only File) mysql与redis保持数据一致 redis事务 主从复制(Redis集群) 哨兵模式 key过期策略 缓存穿透、击穿、…...
ospf-gre隧道小练习
全网可达,R5路由表没有其他路由器的路由条目 注:每个路由器都添加了自己的环回,如R1就是1.1.1.1 R1可以分别ping通与R2,R3,R4之间的隧道 R1路由表上有所有路由器环回的路由条目 R5路由表上没有其他路由器的路由条目 实现代码: 首先将各个接口IP配好 边上3个路由器:[R6][R7][R…...
C++入门【29-C++ 把引用作为返回值】
通过使用引用来替代指针,会使 C 程序更容易阅读和维护。C 函数可以返回一个引用,方式与返回一个指针类似。 当函数返回一个引用时,则返回一个指向返回值的隐式指针。这样,函数就可以放在赋值语句的左边。例如,请看下面…...
基于Java SSM框架实现企业车辆管理系统项目【项目源码】
基于java的SSM框架实现企业车辆管理系统演示 JSP技术 JSP技术本身是一种脚本语言,但它的功能是十分强大的,因为它可以使用所有的JAVA类。当它与JavaBeans 类进行结合时,它可以使显示逻辑和内容分开,这就极大的方便了运动员的需求…...
MyBatis的配置及简单使用
1.配置myBatis 1.myBatis的作用 MyBatis 是一个开源的持久层框架,它的主要作用是简化数据库操作,使得开发者能够更方便地与数据库进行交互。 MyBatis 允许开发者使用简单的 XML 或注解配置 SQL 映射,从而实现数据库操作,而不需要…...
【UE Niagara学习笔记】07 - 火焰的热变形效果
目录 效果 步骤 一、创建热变形材质 二、添加新的发射器 2.1 设置粒子材质 2.2 设置粒子初始大小 2.3 设置粒子持续生成 三、修改材质 四、设置粒子效果 在上一篇博客(【UE Niagara学习笔记】06 - 制作火焰喷射过程中飞舞的火星)的基础上继续…...
深度学习模型中 argparse 模块Python 脚本的部分参数解读
尤其注意下面这句中的action"store_true"的作用解析: --resume_ckpt 是一个标志参数,它不需要附加值。如果将该参数作为命令行参数传递给脚本,则 resume_ckpt 的值将被设置为 True。action"store_true" 意味着如果在命令…...
基于Node.js与OpenAI构建Facebook Messenger聊天机器人实战指南
1. 项目概述与核心思路 最近在折腾一个挺有意思的玩意儿,一个基于Node.js的Facebook Messenger聊天机器人,项目名叫Chino-chan-Bot。说白了,就是让你能用自己的Facebook账号,挂一个自动回复的“小助手”。它不仅能处理基础的群聊…...
AT命令解析器:嵌入式开发与BLE模块控制的通用语言
1. AT命令解析器:嵌入式开发的“通用语言”如果你玩过早期的调制解调器或者用过一些GSM/GPRS模块,对“AT”这两个字母一定不陌生。在嵌入式开发,尤其是物联网和无线通信领域,AT命令集就像一套“通用语言”,它让开发者能…...
模型预测控制与神经控制屏障函数的融合应用
1. 项目概述:当模型预测控制遇上神经控制屏障函数在自动驾驶和机器人控制领域,模型预测控制(MPC)因其优秀的实时优化能力而广受青睐。但从业者都知道一个"公开的秘密"——传统MPC就像个近视的导航员,只能确保…...
Python异步Web框架SerpentStack:高性能API服务开发指南
1. 项目概述:SerpentStack,一个被低估的Python异步Web框架最近在GitHub上闲逛,又看到了一个名为“SerpentStack”的Python Web框架项目,作者是Benja-Pauls。说实话,第一眼看到这个名字,我差点把它归为又一个…...
别再让笔记本续航尿崩了!聊聊eDP屏幕的PSR自刷新到底怎么省电(附状态机图解)
揭秘eDP屏幕PSR技术:如何让笔记本续航提升30%的隐藏黑科技 当你在咖啡馆处理文档时,是否注意到笔记本电量像沙漏一样流逝?这背后有个被多数人忽略的关键因素——屏幕刷新机制。传统LCD屏幕即使显示静态内容,也会以固定频率&#x…...
Browser-Use:基于LLM的智能浏览器自动化框架入门与实践
1. 项目概述:当AI学会“上网冲浪” 如果你和我一样,在过去的几年里尝试过各种RPA工具或者写爬虫脚本来处理网页上的重复性工作,那你一定对那种“脚本一跑就崩,网站一改版就废”的体验深有感触。我们总在幻想,要是能直…...
5G核心网虚拟化部署的功耗优化实践
1. 5G核心网虚拟化部署的功耗挑战在5G网络大规模商用的背景下,核心网(5GC)的虚拟化部署已成为行业主流趋势。与传统的专用硬件设备不同,基于NFV(网络功能虚拟化)的5GC可以运行在商用服务器(COTS)上,这种架构转型带来了显著的灵活性和成本优势…...
工程师背包线缆管理实战:从Cord Hog到DIY收纳方案全解析
1. 项目概述:从“线缆地狱”到个人收纳方案的探索作为一名常年与各种开发板、调试器、电源适配器和数据线打交道的硬件工程师,我的背包简直就是个微缩版的电子实验室。每天通勤,包里除了笔记本电脑,必然塞满了USB线、串口线、JTAG…...
现代软件工程样板项目:从设计到实践的全栈项目初始化指南
1. 项目概述:从仓库名到项目骨架的深度解构看到advhcghbot/sample-project-2026这个项目标题,很多人的第一反应可能是:“这看起来像是一个占位符或者模板项目。” 没错,从字面上看,“sample-project”直译就是“示例项…...
青少年抑郁焦虑干预平台怎么选?7大维度对比指南
一、为什么要看这份榜单青少年抑郁焦虑问题已成为当代家庭教育中最棘手的挑战之一。据《2023年度中国精神心理健康》蓝皮书数据,我国青少年抑郁风险检出率约为15%-20%,而焦虑、厌学、社恐等情绪行为问题更为普遍。面对如此庞大的需求,家长在寻…...
