华为云社区(华为云社区活动)
152
2022-12-19
本文目录一览:
本文分享自华为云社区《鸿蒙轻内核-内存调测-内存信息统计》,作者:zhushy 。
内存调测方法旨在辅助定位动态内存相关问题,提供了基础的动态内存池信息统计手段,向用户呈现内存池水线、碎片率等信息;提供了内存泄漏检测手段,方便用户准确定位存在内存泄漏的代码行,也可以辅助分析系统各个模块内存的使用情况;提供了踩内存检测手段,可以辅助定位越界踩内存的场景。
本文分析下内存信息统计。
内存信息包括内存池大小、内存使用量、剩余内存大小、最大空闲内存、内存水线、内存节点数统计、碎片率等。
LOSCFG_MEM_WATERLINE:开关宏,默认打开;若关闭这个功能,在 target_config.h 中将这个宏定义为 0。如需获取内存水线,需要打开该配置。
关键结构体介绍:
调用 LOS_MemInfoGet 接口,第 1 个参数是内存池首地址,第 2 个参数是 LOS_MEM_POOL_STATUS 类型的句柄,其中字段 usageWaterLine 即水线值。
同样调用 LOS_MemInfoGet 接口,可以获取内存池的剩余内存大小和最大空闲内存块大小,然后根据公式(fragment=100-最大空闲内存块大小/剩余内存大小)得出此时的动态内存池碎片率。
本实例实现如下功能:
1.创建一个监控线程,用于获取内存池的信息;
2.调用 LOS_MemInfoGet 接口,获取内存池的基础信息;
3.利用公式算出使用率及碎片率。
代码实现如下:
编译运行输出的结果如下:
华为云开发者联盟社区很好。华为云开发者联盟社区旨在整合及协调产业链资源,为华为移动终端开发者提供全球化的平台服务,从开发、测试、推广、变现等环节全方位助力开发者,鼓励创新,提供平台资源扶持,在让核心伙伴开发者交流技术,共同创新,共建生态的开发者圈子。
本文分享自华为云社区《一文带你了解NB-IoT标准演进与产业发展》,作者:万万万。
我们都知道,物联网的场景和手机、电脑在使用的传统互联网是不太一样的。那么,就无线通信场景而言,物联网有什么样的特点呢?首先,感知层的物联网设备在进行数据收发的时候,那些数据包是比较小的,并且收发的频率也是比较低的,有的时候每天只需要发送不到十个数据。其次,为了提高物联网设备的使用寿命,这些设备对能源的消耗是比较小的,所以这也要求设备在通信的时候功耗也是要比较低的。
总结起来,就是无源、小包、偶发的通信需求。基于这样的场景需求,就要求通信网络必须要是功耗低,覆盖广的,也就是LowPowerWideArea的场景。
在LPWA场景当中,当下最热门的一项技术莫过于NB-IoT通信技术。它被广泛使用于现如今的公共事业、城市管理当中,所以了解NB-IoT的技术细节以及解决方案对学习物联网就显得很重要了。
本文将带大家详细了解NB-IoT标准演进与产业发展。
NB-IoT技术标准最早是由华为和沃达丰主导提出来的,之后又吸引了高通和爱立信等一些厂家。从一开始的NB-M2M经过不断的演进和研究,在2015年的时候演进为NB-IoT,在2016的时候,NB-IoT的标准就正式被冻结了。当然,NB-IoT的标准依然在持续的演进当中,在17年的R14当中就新增了许多特性,到了R14版本,NB-IoT具有了更高的速率,同时也支持站点定位和多播业务了。在2020年7月9日最新召开的会议上,NB-IoT这项技术已经被正式接纳为5G的一部分了。
这一事件对于NB-IoT来说有一个什么样的好处呢?当NB-IoT这项技术被归为5G的标准之后,也就是说,即使是通过NB-IoT接入网络的物联网设备,最终也可以连接5G核心网,享受5G的边缘计算、网络切片等一些服务。所以,这一事件对于NB-IoT来说是非常非常重要的。但是由于现阶段的NB-IoT并不支持接入5G网络,所以该技术在后续仍需要经过不断的演化和技术的演进才能进入5G网络当中。
图1全球运营商LPWA技术选择分布
从上图可知,全球大多数的运营商在进行LPWA技术选择的时候都是先选择去部署一张NB-IoT的网络,之后再去部署一张eMTC的网络。其原因在于运营商都是倾向于先去部署一张他们本来没有的网络,因为之前没有像NB-IoT这样的网络去支持低功耗广域网的场景,并且也从来没有专门为了设备去设计一张网络供物联网终端设备来使用。
之前所使用的运营商网络其实都是给人来使用的,为了方便人们的通信,所拥有的语音通信以及越来越高的传输速率等等。但是NB-IoT不一样,这张网络速率是非常慢的,人类去使用的话体验肯定是非常差的,但是这张网络对于底层的设备来说是非常合适的。原因之一是因为覆盖范围非常广,另一个原因是能耗低,速率低等。至于eMTC这张网络,它的速率相对于NB-IoT是要高的,并且还支持语音通信,所以它与用户现在正在使用的2G网络是比较相近的。所以在2G网络退网之后,运营商就可以选择使用eMTC去代替2G网络来进行使用,这就是大部分运营商选择先部署NB-IoT网络再部署eMTC网络的原因。
对于运营商来说,除了有选择技术的问题之外,另一个就是频谱选择的问题,因为这是一个避不开的问题。如果要满足低功率广域网的场景的话,网络的频段要够低,因为它既要满足广覆盖,还要满足网络的穿透性。大部分感知层的物联网设备,像气表、水表等,它们是被放在厨房的柜子里的,相当于是被层层遮蔽的,如果网络穿透力不够的话是没有办法跟设备进行连接的。
图2全球运营商NB-IoT频谱选择
同时,频段越低穿透性越强,频段越高穿透性越弱。所以由图2可以看到,对于运营商来讲,他们相当于把最合适的一部分频段都拿出来了。所以大部分的运营商都是在700到900M这一部分也就是SubG频段来进行部署。当然,也有少数的部分像中国联通他有一部分是放在1800M。所以在上文中提到的,NB-IoT网络主要是部署在SubG频段的,而不是说全部都是在SubG频段原因就在于此。
另外,由于NB-IoT的网络是基于4GLTE的网络的。所以运营商会在4G的基站中选择一部分基站去做软件升级来作为NB-IoT的基站。但是中国联通不一样,因为中国联通的4G基站就是基于3G基站升级得到的。所以就相当于它可以直接使用3G1800MHz的基站升级得到NB-IoT的基站,所以联通经过基站平滑升级之后,就直接在1800M使用NB-IoT网络,节省了很大的成本。这也就是为什么中国联通可以在1800MHz部署NB-IoT网络。
除了网络技术,基站和频段之外,如果想要使用这个网络也得有支持设备与基站连接的芯片。所以华为早在R13就推出了Boudica120芯片,由于它推出的比较早,所以芯片的功能并不是特别强,只支持SubG频段,并且也不支持移动性这些在R14才演进的特性。所以基于R14的一些新特性,华为又推出了Boudica150芯片来满足新特性的使用。
图3NB-IoT产业生态
图3为NB-IoT技术的应用情况,其实NB-IoT所涉及的领域是比较多的。像水表、气表、路灯、智能停车等等应用当中都有涉及。
华为云提供的大数据MRS服务可以提供租户完全可控的企业级大数据集群云服务,轻松运行Hadoop、Spark、HBase、Kafka、Storm等大数据组件。当前性价比很高,最小规格集群已经低至1.99元/小时,还有买10个月送2个月的活动。
在华为云社区找到了一个介绍MRS服务的云图说,可以点击查看MRS云图说。也可以到华为云MRS官方介绍页去看看。
发表评论
暂时没有评论,来抢沙发吧~