版本:V3.2Beta关联线程组调度特性介绍基本概念关联线程组(relatedthreadgroup)提供了对一组关键线程调度优化的能力,支持对关键线程组单独进行负载统计和预测,并且设置优选CPUcluster功能,从而达到为组内线程选择最优CPU运行并且根据分组负载选择合适的CPU调频点运行。配置指导使能关联线程组打开相关配置项及依赖。启用关联线程组功能,需要通过编译内核时打开相应的配置项及依赖,相关CONFIG如下:CONFIGSCHEDRTGyCONFIGSC...
2023-04-14 16:16:07 4148浏览 0点赞 0回复 0收藏
EnhancedSWAP特性介绍基本概念ESwap(EnhancedSwap)提供了自定义新增存储分区作为内存交换分区的能力,并创建了一个常驻进程zswapd将ZRAM压缩后的匿名页加密换出到ESwap存储分区,从而能完全的空出一块可用内存,以此来达到维持Memavailable水线的目标。同时,配合这个回收机制,在整个内存框架上进行改进,优化匿名页和文件页的回收效率,并且使两者的回收比例更加合理以避免过度回收导致的refault问题造成卡顿现象。ZR...
2023-04-14 16:15:45 7137浏览 0点赞 0回复 0收藏
版本:V3.2BetaLinux内核概述标准系统类设备是面向应用处理器的设备,支持的设备最小内存为128MiB。OpenHarmony选择Linux内核作为基础内核,可以对不同资源受限的设备产品配置出适合的OS内核,为上层提供基础的操作系统能力。Linux内核版本Linux内核版本分为稳定版本以及长期支持LTS(longtermsupport)版本。稳定版本大约每三个月发布一个新版本,包含最新硬件支持、性能改进以及bug修复等。其缺点是整体维护生命周期较短,产品...
2023-04-14 16:14:59 4377浏览 0点赞 0回复 0收藏
版本:V3.2Beta基本数据结构双向链表基本概念双向链表是指含有往前和往后两个方向的链表,即每个结点中除存放下一个节点指针外,还增加一个指向前一个节点的指针。其头指针head是唯一确定的。从双向链表中的任意一个结点开始,都可以很方便地访问它的前驱结点和后继结点,这种数据结构形式使得双向链表在查找时更加方便,特别是大量数据的遍历。由于双向链表具有对称性,能方便地完成各种插入、删除等操作,但需要注意前后方向...
2023-04-14 16:14:38 3335浏览 0点赞 0回复 0收藏
版本:V3.2Beta其他内核调测手段临终遗言使用场景在无串口的设备上,将系统异常时打印的信息保存到不丢失的存储介质上,方便对运行时问题进行定位。功能说明该调测功能提供了一种用于保存系统异常时打印信息到不丢失存储介质中的机制,用户可自行注册读写异常时打印信息的钩子函数,实现在不同存储介质上保存异常信息的能力,这样方便无串口的设备的问题定位。接口名为LOSExcInfoRegHook,该函数声明在losconfig.h中,函数原型...
2023-04-14 16:14:11 2568浏览 0点赞 0回复 0收藏
版本:V3.2Beta用户态内存调测基本概念Debug版本的musllibc库为用户提供内存泄漏检测、堆内存统计、踩内存分析以及backtrace功能等维测手段,可以提高用户态内存相关问题的定位效率。采用了对mallocfree接口进行插桩,保存关键节点信息,然后程序在申请和释放内存时进行内存节点完整性校验,最后在程序结束时通过统计节点信息得到内存统计信息并根据统计信息判断内存是否泄漏的设计思想。运行机制内存泄漏检查对于每个进程,内...
2023-04-14 16:13:46 3331浏览 0点赞 0回复 1收藏
版本:V3.2Beta内核态内存调测内存信息统计基础概念内存信息包括内存池大小、内存使用量、剩余内存大小、最大空闲内存、内存水线、内存节点数统计、碎片率等。内存水线:即内存池的最大使用量,每次申请和释放时,都会更新水线值,实际业务可根据该值,优化内存池大小;碎片率:衡量内存池的碎片化程度,碎片率高表现为内存池剩余内存很多,但是最大空闲内存块很小,可以用公式(fragment100100最大空闲内存块大小剩余内存大小...
2023-04-14 16:12:09 3755浏览 0点赞 0回复 0收藏
版本:V3.2BetaLMS调测基本概念LMS全称为LiteMemorySanitizer,是一种实时检测内存操作合法性的调测工具。LMS能够实时检测缓冲区溢出(bufferoverflow),释放后使用(useafterfree)和重复释放(doublefree),在异常发生的第一时间通知操作系统,结合backtrace等定位手段,能准确定位到产生内存问题的代码行,极大提升内存问题定位效率。OpenHarmonyLiteOSA内核的LMS模块提供下面几种功能:支持多内存池检测;支持LOSMemAlloc、L...
2023-04-14 16:11:32 4577浏览 0点赞 0回复 0收藏
版本:V3.2Betarm命令功能rm命令用来删除文件或文件夹。命令格式rm[fv]FILEorrm[rv][PATHfilename]…参数说明表1参数说明参数参数说明r删除空目录或非空目录。f强制删除:不需要确认,删除不存的文件在也不报错。v显示删除的过程。PATHfilename要删除文件或文件夹的名称,支持输入路径。使用指南rm命令能同时删除多个文件或文件夹。rmr命令可以删除非空目录。删除不存在的文件会报错。特殊说明fv参数shell端暂不支持。切换mksh...
2023-03-27 16:43:15 2672浏览 0点赞 0回复 0收藏
版本:V3.2Betantpdate命令功能命令用于从服务器同步系统时间。命令格式ntpdate[SERVERIP1][SERVERIP2]…参数说明表1参数说明参数参数说明取值范围SERVERIPNTP服务器IP。NA使用指南直接执行ntpdate[SERVERIP1][SERVERIP2]…ntpdate会获取第一个有效服务器IP的时间并显示。使用实例举例:使用ntpdate命令更新系统时间:ntpdate192.168.1.3。输出说明OHOSntpdate192.168.1.3timeserver192.168.1.3:MonJun1309:24:252016因为板子和...
2023-03-27 16:32:46 2834浏览 0点赞 0回复 0收藏
版本:V3.2Betals命令功能ls命令用来显示当前目录的内容。命令格式ls[ACHLSZacdfhiklmnopqrstux1][–color[auto]][directory…]说明:系统启动过程中已经通过alias为lstoyboxlscolorauto、lllsalF、lalsA和llsCF赋能,使这几个命令的初始行为就和linux相同(详细效果见输出说明)。所以若要查看help列表,请输入’toyboxlshelp’。参数说明表1展示功能参数说明参数参数说明取值范围–help查看ls命令支持的参数列表,使用方式。N...
2023-03-27 16:31:32 3757浏览 1点赞 0回复 1收藏
版本:V3.2Betavmm命令功能查看进程的虚拟内存使用情况。命令格式vmm[ahhelp]vmm[pid]参数说明表1参数说明参数参数说明取值范围a输出所有进程的虚拟内存使用情况。NAhhelp命令格式说明。NApid进程ID,说明指定进程的虚拟内存使用情况。[0,63]使用指南命令缺省输出所有进程的虚拟内存使用情况。使用实例举例:输入vmm3输出说明示例PID为3的进程虚拟内存使用信息OHOSvmm3PIDaspacenamebasesizepages30x408c0118foundation0x010000...
2023-03-27 16:30:57 3326浏览 0点赞 0回复 0收藏
版本:V3.2Betastack命令功能查看系统各堆栈使用情况。命令格式stack参数说明无使用指南无使用实例输入:stack输出说明示例系统堆栈使用情况OHOSstackstacknamecpuidstackaddrtotalsizeusedsizesvcstack10x405c40000x20000x484svcstack00x405c60000x20000xae4excstack10x405c80000x10000x0excstack00x405c90000x10000x0表1输出说明输出说明stackname系统堆栈名cpuidcpu号stackaddr栈地址totalsize堆栈大小usedsize堆栈实际使用...
2023-03-27 16:29:46 2910浏览 0点赞 0回复 0收藏
版本:V3.2Betakill命令功能kill命令用于发送特定信号给指定进程,让它去终结不正常的应用。命令格式kill[l[signo]ssignosigno]pid…参数说明表1参数说明参数参数说明取值范围–help查看kill命令支持的参数列表NAl列出信号名称和编号。NAs发送信号NAsigno信号ID。[1,30]pid进程ID。[1,MAXINT]须知:signo有效范围为[0,64],建议取值范围为[1,30],其余为保留内容。使用指南必须指定发送的信号编号及进程号。进程编号取值范围根...
2023-03-27 16:29:25 3523浏览 0点赞 0回复 0收藏
版本:V3.2Betacpup命令功能cpup命令用于查询系统CPU的占用率。命令格式cpup[mode][taskID]参数说明表1参数说明参数参数说明取值范围mode缺省:显示系统最近10s内的CPU占用率。0:显示系统最近10s内的CPU占用率。1:显示系统最近1s内的CPU占用率。其他数字:显示系统启动至今总的CPU占用率。[0,0xFFFFFFFF]taskID任务ID号[0,0xFFFFFFFF]使用指南参数缺省时,显示系统10s前的CPU占用率。只有一个参数时,该参数为mode,显示系统...
2023-03-27 16:29:03 3554浏览 0点赞 0回复 0收藏
版本:V3.2BetaShell介绍OpenHarmony内核提供的Shell支持调试常用的基本功能,包含系统、文件、网络和动态加载相关命令。同时OpenHarmony内核的Shell支持添加新的命令,可以根据需求来进行定制。系统相关命令:提供查询系统任务、内核信号量、系统软件定时器、CPU占用率、当前中断等相关信息的能力。文件相关命令:支持基本的ls、cd等功能。网络相关命令:支持查询接到开发板的其他设备的IP、查询本机IP、测试网络连接、设置开...
2023-03-27 16:28:12 3683浏览 0点赞 0回复 1收藏
版本:V3.2BetaTrace调测基本概念Trace调测旨在帮助开发者获取内核的运行流程,各个模块、任务的执行顺序,从而可以辅助开发者定位一些时序问题或者了解内核的代码运行过程。运行机制内核提供一套Hook框架,将Hook点预埋在各个模块的主要流程中,在内核启动初期完成Trace功能的初始化,并注册Trace的处理函数到Hook中。当系统触发到一个Hook点时,Trace模块会对输入信息进行封装,添加Trace帧头信息,包含事件类型、运行的cpuid...
2023-03-27 16:22:24 3915浏览 0点赞 0回复 0收藏
版本:V3.2Beta时间管理基本概念时间管理以系统时钟为基础。时间管理提供给应用程序所有和时间有关的服务。系统时钟是由定时计数器产生的输出脉冲触发中断而产生的,一般定义为整数或长整数。输出脉冲的周期叫做一个“时钟滴答”。系统时钟也称为时标或者Tick。一个Tick的时长可以静态配置。用户是以秒、毫秒为单位计时,而操作系统时钟计时是以Tick为单位的,当用户需要对系统操作时,例如任务挂起、延时等,输入秒为单位的数...
2023-03-27 16:21:49 3364浏览 0点赞 0回复 0收藏
版本:V3.2Beta魔法键使用方法使用场景在系统运行出现无响应等情况时,可以通过魔法键功能确定系统是否被锁中断(魔法键也无响应)或者查看系统任务运行状态等信息。在中断有响应的情况下,可以通过魔法键查看task信息中cpup(CPU占用率)看是哪个任务长时间占用CPU导致系统其他任务无响应(一般为比较高优先级任务一直抢占CPU,导致低优先级任务无响应)。使用配置魔法键依赖于宏LOSCFGENABLEMAGICKEY,在kernelliteosa中输入m...
2023-03-27 16:11:04 2429浏览 0点赞 0回复 0收藏
版本:V3.2Betacat命令功能cat用于显示文本文件的内容。命令格式cat[pathname]参数说明表1参数说明参数参数说明取值范围pathname文件路径。已存在的文件。使用指南cat用于显示文本文件的内容。使用实例举例:cathelloopenharmony.txt输出说明示例查看helloopenharmony.txt文件的信息OHOScathelloopenharmony.txtOHOSHelloopenharmony;)cd命令功能cd命令用来改变当前目录。命令格式cd[path]参数说明表1参数说明参数参数说明取值...
2023-03-27 15:52:07 2670浏览 0点赞 0回复 0收藏